如何设计支持删除低于给定值的元素的树数据结构?

时间:2013-09-07 10:17:48

标签: algorithm tree

出于我的算法之一的目的,我想创建一个支持O(lg n)时间复杂度的以下操作的数据结构:

  • 添加新项目;
  • 搜索以获取新项目;
  • 删除其键值低于给定值的所有项目。

我猜一棵树是支持这些操作的最合适的数据结构。但是,我实际上不知道如何在对数时间内实现最后一个。我该如何设计呢?

1 个答案:

答案 0 :(得分:1)

您可以使用平衡二叉搜索树(AVL,红黑,您选择)。低于给定元素的元素将在沿着连接到根的路径的左侧子节点中找到。其余的很容易......