C#Interval树类

我正在寻找一个间隔树C#集合类。

我需要能够添加间隔,理想2D,否则我可能会组合两个标准1D间隔树。

我还需要能够找出与给定间隔重叠的间隔。

我找到了这个intervaltree.codeplex.com但是

没有与此版本相关的下载。

编辑:

继续这里: C#使用其他代码

在codeplex页面上有一个下载: http : //intervaltree.codeplex.com/SourceControl/list/changesets – >右侧 – >下载

我刚刚写了另一个实现,可以在这里找到: https : //github.com/mbuchetics/RangeTree

它还带有一个异步版本,它使用任务并行库(TPL)重建树。

对于未来的访问者,我也写了一个实现https://github.com/vvondra/Interval-Tree

您可以找到间隔树的另一个c#实现(基于自平衡avl树)@ http://code.google.com/p/intervaltree/

另一种实现可以在https://github.com/erdomke/RangeTree找到。 与其他实现不同,它的目标是尽可能使用类似于IDictionary的接口。 它可以使用如下:

 var tree = new RangeTree() { { 0, 10, "1" }, { 20, 30, "2" }, { 15, 17, "3" }, { 25, 35, "4" }, }; // Alternatively, use the Add method, for example: // tree.Add(0, 10, "1"); var results1 = tree[5]; // 1 item: [0 - 10] "1"