【发布时间】:2011-05-15 19:52:14
【问题描述】:
我正在构建一个非常大的字典,我正在执行许多检查以查看一个键是否在结构中,然后添加它是否唯一,或者如果它相同则增加一个计数器。
Python 使用hash data structure 来存储字典(不要与加密哈希函数混淆)。查找是 O(1),但如果哈希表已满,则必须重新哈希,这非常昂贵。
我的问题是,我最好使用AVL Binary Search Tree 还是哈希表足够好?
【问题讨论】:
-
请注意,如果您想知道哈希表和 AVL 树之间哪个性能更好,那么还有很多其他的参与者需要考虑。尝试和展开树浮现在脑海中。
-
也许你甚至可以使用计数布隆过滤器。
-
from collections import Counter -
@THC4k 是的,谷歌使用了布隆过滤器,有趣的东西。
标签: python algorithm performance data-structures