什么数据结构支持快速插入,删除和搜索

时间:2013-07-15 05:54:24

标签: search data-structures

我觉得这必须存在,但我无法想到它。是否存在一个数据结构,可以保存已排序的值列表并快速搜索(可能像数组一样是log(N)时间),还支持在log(N)或常量时间内插入和删除元素?

1 个答案:

答案 0 :(得分:3)

这几乎是对平衡二叉搜索树的描述,它以排序顺序存储元素,允许O(log n)插入,删除和查找,并允许对所有元素进行O(n)遍历。 / p>

有许多方法可以建立一个平衡的BST - 有红/黑树,AVL树,替罪羊树,树木,AA树,treaps,(a,b)树等等。任何这些都可以解决你的问题问题。其中,splay树可能是最容易编码的,其次是AA树和AVL树。

希望这有帮助!