【发布时间】:2013-07-15 05:54:23
【问题描述】:
我觉得这必须存在,但我就是想不出来。有没有一种数据结构可以保存一个排序的值列表并快速搜索(可能像数组一样的 log(N) 时间),并且还支持在 log(N) 或恒定时间内插入和删除元素?
【问题讨论】:
-
您没有说是哪种语言,但是排序链表使用二分搜索算法(也用于插入和删除)完成所有这些操作。
-
@kevinsa5,我的理解是链表不支持二分查找,因为它不支持常量时间查找,只支持 O(N) 查找。如果我错了,请纠正我。这也是一个与语言无关的问题,我想这样的数据结构应该可以用任何合理的语言实现。
-
二叉树,然后呢?不是恒定时间,而是 O(log(n))。