快速设置操作的数据结构

时间:2013-10-28 16:16:16

标签: c# algorithm data-structures intervals set-operations

我正在研究Hanson和Chaabouni的Interval Binary Search Tree的C#实现。简而言之,它是动态区间集合的数据结构,允许您快速查找与点重叠的区间。数据结构是使用AVL平衡方案的扩充二进制搜索树(BST)。

树中的每个节点都包含三组间隔。在进行旋转时,我们需要进行大量的设置操作以保持不变量。我们需要支持迭代集合中的间隔,添加减法集合并设置交叉点。如果集合包含重复的间隔(具有相同端点但不是同一对象的间隔),它们将包含在相同的集合中。

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

奖金信息:

  • 间隔由低端点和高端点组成。这就是我们所知道的。
  • 我们可以对这些端点进行散列,但是具有相同端点的重复间隔自然会具有相同的散列码。
  • 间隔因参考平等而不同。
  • 我们可以对端点进行排序,但是具有相同端点的重复间隔自然会具有相同的排序顺序。
  • 我们没有任何其他可用于散列或排序的信息。

0 个答案:

没有答案