1

有人知道python的字典'get(key)'方法的O(?)吗?

我已经使用 cProfile 模块对其进行了测试,并在字典中获得了 100、1000、10000、100000、1000000、100000000 条记录的相同时间结果。

这是否意味着 python 的字典为任何键提供 O(1) 访问时间?

4

2 回答 2

6

答案是 - 是的,因为 Python dicts 使用哈希来存储密钥。哈希表O(1)访问其密钥的平均时间复杂度 - 在此处阅读更多信息http://en.wikipedia.org/wiki/Hash_table

键检索的最坏情况是O(n),其中n是 中的键数dictionary。(@Michael Butscher)。

于 2013-06-04T19:58:40.303 回答
1

是的,对于任何键,它确实是 O(1)。

于 2013-06-04T19:59:41.200 回答