gpt4 book ai didi

python - 为什么 dict 有这么多操作的最坏情况 O(n)?

转载 作者:太空狗 更新时间:2023-10-30 00:30:36 26 4
gpt4 key购买 nike

dict 究竟是如何实现的,它具有线性时间查找冲突?我假设它是作为一个列表支持的哈希表实现的。我认为更好的实现是 O(log(n)) 用于各种操作,而是使用树来支持表。幕后是否发生了一些神奇的事情来尽可能长时间地保持不断的时间查找?

顺便说一下,我的来源是这样的:

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=python+complexity

最佳答案

对于大多数操作,Dict 是 O(1),除了涉及所有元素的操作,例如迭代和复制(在这种情况下,它显然是 O(n))。

参见:http://wiki.python.org/moin/TimeComplexity

它有 O(n) 最坏的情况,因为你总是可以设计一个病态的例子,其中所有键都具有相同的哈希值。

关于python - 为什么 dict 有这么多操作的最坏情况 O(n)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com