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