私は明らかにしたい辞書とハッシュテーブルについていくつかの混乱があります。私は現在の辞書と現在のPythonの実行のハッシュの現在の出力を持っています。辞書とハッシュテーブルの空間の複雑さ
Dict = dict()
print(hash('a'))
print(hash('b'))
print(hash('c'))
Dict['a'] = 1
Dict['b'] = 2
Dict['c'] = 3
print(Dict)
ハッシュテーブルは、単にハッシュは、ハッシュテーブルのインデックスである配列である私の知識にとても
1714333803
1519074822
1245896149
{'a': 1, 'c': 3, 'b': 2}
の出力を持っています。例えば、 'a'は1714333803のハッシュを持っていたので、私のハッシュテーブルのインデックス1714333803は 'a'という値を持っています。だから、ハッシュテーブルのインデックスの数と、ハッシュ関数が答えを生成する方法を混同していますか?モジュラスを使用し、固定範囲のインデックスを持っていますか?与えられた辞書のプリントは{'a': 1, 'c': 3, 'b': 2}
を出力するので、実際にはそれが出力されていると仮定するのは正しいですが、辞書は実際には1714333803のインデックスを少なくとも1つ配列しています。それは宇宙の無駄です。また、ハッシュテーブルの場合、値のないインデックスには何が含まれますか?
動的に配列のサイズを変更できます。ただし、すべてのキーのハッシュを再計算する必要があります。このリンクは面白いhttp://www.laurentluce.com/posts/python-dictionary-implementation/ – SnoozeTime
「価値のないインデックス、null」はどういう意味ですか?ハッシュを持たないキー?または、配列内で塗りつぶされていない位置? – MisterMiyagi
このビデオも参照してください:https://www.youtube.com/watch?v=C4Kc8xzcA68 –