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

静的パーフェクトハッシュ


完全なハッシュの定義

完全なハッシュは、n個の要素の任意のセットを同じサイズのハッシュテーブルに格納でき、一定時間でルックアップを実行できるハッシュのモデルとして定義されます。これは、Fredman、Komlos、およびSzemeredi(1984)によって特別に発明され、議論されたため、「FKSハッシュ」と呼ばれています。

静的ハッシュの定義

静的ハッシュは、ユーザーが最終的な辞書セットでルックアップを実行できるようにする別の形式のハッシュ問題を定義します(つまり、辞書内のすべてのオブジェクトが最終的であり、変更されないことを意味します)。

アプリケーション

静的ハッシュではデータベースが必要であるため、そのオブジェクトと参照は同じままであり、そのアプリケーションは制限されています。まれに変更が発生する情報を含むデータベースも、まれにデータベース全体の完全な再ハッシュのみが必要になるため、対象となります。このハッシュスキームのさまざまな例には、単語のセットと特定の言語の定義、組織の担当者向けの重要なデータのセットなどが含まれます。

実装

静的なケースでは、事前に、それぞれが一意のキーに関連付けられた合計p個のエントリのセットが提供されます。 Fredman、Komlós、Szemerédiは、サイズs =2(p-1)バケットの第1レベルのハッシュテーブルを選択します。構築するために、p個のエントリはトップレベルのハッシュ関数によってq個のバケットに分割されます。ここでq =2(p-1)です。次に、r個のエントリを持つバケットごとに、第2レベルのテーブルにr2スロットが割り当てられ、そのハッシュ関数がユニバーサルハッシュ関数セットからランダムに選択されるため、衝突がなくなり、ハッシュテーブルと一緒に保存されます。ランダムに選択されたハッシュ関数が衝突のあるテーブルを作成する場合、衝突のないテーブルが保証されるまで、新しいハッシュ関数がランダムに選択されます。最後に、衝突のないハッシュを使用して、r個のエントリが第2レベルのテーブルにハッシュされます。


  1. CSSの位置:静的;

    位置:静的; プロパティは、要素の位置を静的に設定します。これがデフォルトです。 例 top、bottom、left、およびrightプロパティは、静的に配置された要素には影響しません。次のコードを実行して、CSSの position:static;を実装してみてください。 プロパティ <!DOCTYPE html> <html>    <head>       <style>          div.static {   &nbs

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

    このセクションでは、オープンアドレッシングスキームでのダブルハッシュ手法とは何かを説明します。通常のハッシュ関数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 、。