ハッシュテーブルの一般的な例は何ですか?

誰もがハッシュテーブルを必要とする問題の性質を説明するための基礎として使用するいくつかの「標準的な」例があるかどうか疑問に思っていました。現実世界でよく知られている問題のうち、ハッシュテーブルを使用することで大きなメリットが得られるものは何ですか?

*EDIT: also, a little background or explanation as to why the problem's nature benefits with a Hash Table would be of help! Thanks

1

4 答え

現実世界の例:私がハッシングに関する議会に出席しているので、私が数日間ホテルに滞在したとします。私がホテルに戻った日の終わりに、私にメッセージがあるかどうかをデスク係に尋ねます。彼の背中の裏には、AからZと書かれた26のエントリーを備えた鳩のような食器棚があります。彼は私の姓を知っているので、Wというラベルのスロットに行き、3文字を取り出します。 1つはRobby Williams、もう1つはJimmy Webb、もう1つは私のためです。

事務員は3通の手紙を調べるだけでした。レターボックスが1つしかないのであれば、いくつの手紙を調べなければならないでしょうか?

7
追加された

私はIDで検索可能なメモリ内のユーザレコードを必要とします。

代替案がリストになります。しかし、毎回私はユーザーを見つけるためにループする必要があります。ハッシュテーブルは私にただ1回の呼び出しでユーザーオブジェクトを与えます。

2
追加された

新しいデータが入ってきたら、キーを使って既存のレコードを上書きします。基本的に、キャッシュは最新の状態を保存するために使われます。

2
追加された

キー(または属性)値のリストを持つたびに、ハッシュテーブル(AKA:連想配列)があなたの心に湧きます:

foo['bar']="baz";
surname['joe']="shmoe";

ハッシュテーブルは、1Darraysの概念を一般化します(ここで、キーは連続した整数で、ハッシュ関数はIDです)。キー値が何でもかまいません。ハッシュ関数は...まあ、今日はあなたが見えないものです多くの場合、ほとんどの言語が上記のような構文で目からのハッシングの詳細を隠すでしょう。

0
追加された