1

我正在研究Hanson 和 Chaabouni的区间二叉搜索树的 C# 实现。简而言之,它是一种用于动态区间集合的数据结构,可让您快速找到与某个点重叠的区间。数据结构是使用 AVL 平衡方案的增强二叉搜索树 (BST)。

树中的每个节点都包含三组区间。在做旋转的时候,为了保持不变量,我们需要做很多集合操作。我们需要支持迭代集合中的间隔、集合的加法减法以及集合的交集。如果集合包含重复的间隔(具有相同端点但不是同一个对象的间隔),它们将包含在相同的集合中。

我们需要能够尽可能快地完成这些设置操作 - 这是我们的限制因素 atm。是否有任何数据结构可以有效地支持这些操作?

奖金信息:

  • 一个区间由一个低端点和一个高端点组成。这就是我们对他们的全部了解。
  • 我们可以散列这些端点,但是具有相同端点的重复区间自然会具有相同的散列码。
  • 区间在参考相等上被区分。
  • 我们可以对端点进行排序,但是具有相同端点的重复区间自然会有相同的排序顺序。
  • 我们没有任何其他可用于散列或排序的信息。
4

0 回答 0