キーを値にハッシュし、Pythonで衝突を回避/処理することにより、ハッシュテーブルを作成する方法の良いチュートリアルを誰かが提供できますか? あちこちでたくさんの小さなコードを見てきましたが、誰かが私を助けてくれるかどうか疑問に思っていました.
基本的:
- テーブルを作成する
- ハッシュ関数を選択し、キーをテーブルにハッシュします
- 衝突に対処する
- 上記のテーブルでルックアップを実行します
組み込みのdictタイプで動作するようにオブジェクトをカスタマイズしてみましたか? それはハッシュテーブルです。ハッシュをカスタマイズするには、キー オブジェクトがHashableであることを確認するだけです。
class Foo(object)
def __hash__(self)
#return good (int) hash for a Foo
def __eq__(self, other)
#return true if self == other
def __ne__(self, other)
#return true if self != other
Foo は dict のキーになることができます
d = {Foo(): "value1", Foo(): "value2"}