有人知道python的字典'get(key)'方法的O(?)是什么?
我已经使用cProfile模块对其进行了测试,并获得了字典中100,1000,10000,100000,1000000,100000000条记录的相同时间结果。
这是否意味着python的字典为任何密钥提供O(1)访问时间?
答案 0 :(得分:6)
答案是 - 是的,因为Python决定使用Hashes来存储密钥。并且哈希表具有O(1)
平均时间复杂度来访问其密钥 - 请在此处阅读更多http://en.wikipedia.org/wiki/Hash_table。
密钥检索的最坏情况是O(n)
,其中n
是dictionary
中的密钥数。 (@Michael Butscher)。
答案 1 :(得分:1)
是的,任何钥匙都是O(1)。