1

Python の辞書 'get(key)' メソッドの O(?) を知っている人はいますか?

cProfile モジュールでテストしたところ、辞書内の 100、1000、10000、100000、1000000、100000000 レコードで同じ結果が得られました。

Python の辞書が任意のキーに対して O(1) アクセス時間を提供するということですか?

4

2 に答える 2

6

答えは「はい」です。Python dict はハッシュを使用してキーを格納するためです。また、ハッシュ テーブルにはO(1)、そのキーにアクセスするための平均的な時間の複雑さがあります。詳細については、http://en.wikipedia.org/wiki/Hash_tableを参照してください。

キー取得の最悪のシナリオは ですO(n)。ここnで、 は 内のキーの数ですdictionary。(@マイケル・ブッチャー)。

于 2013-06-04T19:58:40.303 に答える