プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

データ構造のダブルハッシュ


このセクションでは、オープンアドレッシングスキームでのダブルハッシュ手法とは何かを説明します。通常のハッシュ関数h´(x):U→{0、1、。 。 。、m –1}。オープンアドレッシングスキームでは、実際のハッシュ関数h(x)は、スペースが空でないときに通常のハッシュ関数h’(x)を使用し、別のハッシュ関数を実行してスペースを挿入します。

$$ h_ {1}(x)=x \:mod \:m $$

$$ h_ {2}(x)=x \:mod \:m ^ {\ prime} $$

$$ h(x、i)=(h ^ {1}(x)+ ih ^ {2})\:mod \:m $$

iの値=0、1 、。 。 。、m – 1.したがって、i =0から開始し、空き領域が1つになるまでこれを増やします。したがって、最初にi =0の場合、h(x、i)はh´(x)と同じになります。

サイズ20(m =20)のリストがあるとします。いくつかの要素を線形プロービング方式で配置したいと思います。要素は{96、48、63、29、87、77、48、65、69、94、61}

$$ h_ {1}(x)=x \:mod \:20 $$

$$ h_ {2}(x)=x \:mod \:13 $$

x h(x、i)=(h1(x)+ ih2(x))mod 20

データ構造のダブルハッシュ

ハッシュテーブル

データ構造のダブルハッシュ


  1. データ構造のRツリー

    ここにR-Treesデータ構造が表示されます。 Rツリーは、特別なデータインデックスを効率的に格納するために使用されます。この構造は、特別なデータクエリとストレージを保持するのに非常に役立ちます。このRツリーには実際のアプリケーションがいくつかあります。これらは以下のようなものです- 多次元情報の索引付け ゲームデータの処理 地理空間座標を保持する 仮想マップの実装 Rツリーの一例は以下のようなものです。 対応するRツリーは次のようになります- Rツリーのプロパティ Rツリーは、単一のルート、内部、およびリーフノードで構成されています ル

  2. ハーフエッジデータ構造

    はじめに テンプレートパラメータまたはハーフエッジデータ構造(HalfedgeDSと略記)のHDSは、平面マップ、多面体、またはその他の方向付け可能な2次元など、頂点、エッジ、および面の入射情報を維持できるエッジ中心のデータ構造として定義されます。ランダムな次元に埋め込まれたサーフェス。各エッジは、反対方向の2つのハーフエッジに分割されます。各ハーフエッジには、1つの入射面と1つの入射頂点が格納されます。各面と各頂点に1つの入射ハーフエッジが格納されます。ハーフエッジデータ構造のバリエーションを減らすと、面のハーフエッジポインタや面の保存など、この情報の一部を削除できます。 ハーフエッジデ