【发布时间】:2015-08-30 03:12:09
【问题描述】:
出于我的一种算法的目的,我想创建一个支持O(lg n)时间复杂度的以下操作的数据结构:
- 添加一个新项目;
- 正在搜索新项目;
- 删除所有键值低于给定值的项目。
我猜一棵树将是支持这些操作的最合适的数据结构。但是,我实际上不知道如何在对数时间内实现最后一个。我该如何设计它?
【问题讨论】:
-
最后一个要点是否意味着删除所有项其键低于给定值的项目?
-
@delnan:是的,确实如此。
-
你在说什么复杂度?在
log(n)中比较很容易,但log(n)通常比较困难(包括释放每个已释放节点的内存的成本)。