3

キーを値にハッシュし、Pythonで衝突を回避/処理することにより、ハッシュテーブルを作成する方法の良いチュートリアルを誰かが提供できますか? あちこちでたくさんの小さなコードを見てきましたが、誰かが私を助けてくれるかどうか疑問に思っていました.

基本的:

  • テーブルを作成する
  • ハッシュ関数を選択し、キーをテーブルにハッシュします
  • 衝突に対処する
  • 上記のテーブルでルックアップを実行します
4

1 に答える 1

3

組み込みの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"}
于 2012-08-20T20:53:45.393 に答える