什么时候AVL树比哈希表更好?

Mat*_*att 2 performance hashtable hashmap avl-tree data-structures

更具体地说,如果使用AVL树而不是哈希表,是否可以更有效地执行任何操作?

use*_*810 5

我通常更喜欢AVL树来哈希表.我知道哈希表的预期时间O(1)复杂性超过了AVL树的保证时间O(log n)复杂度,但在实践中,常数因素使这两种数据结构具有竞争性,并且没有任何令人烦恼的担忧.一些引起不良行为的意外数据.另外,我经常发现在某个程序的维护生命期间,在最初选择哈希表似乎没有预见到的情况下,我需要按排序顺序排列数据,所以我最终重写程序以使用AVL树而不是哈希表; 做足够多的时间,你就会知道你也可以从AVL树开始.

如果您的密钥是字符串,则三元搜索尝试为AVL树或哈希表提供了合理的替代方法.