C# Interval tree class

自古美人都是妖i 提交于 2019-11-27 22:45:26

问题


I'm looking for an interval tree C# collection class.

I need to be able to add intervals, idealy 2D, otherwise perhaps I could combine two standard 1D interval trees.

I also need to be able to find out what intervals overlap a given interval.

I found this intervaltree.codeplex.com but

There are no downloads associated with this release.

edit:

Continue here: C# using others code


回答1:


There is a download on the codeplex page: http://intervaltree.codeplex.com/SourceControl/list/changesets -> Right hand side -> Download




回答2:


I just wrote another implementation which can be found here: https://github.com/mbuchetics/RangeTree

It also comes with an asynchronous version which rebuilds the tree using the Task Parallel Library (TPL).




回答3:


For future visitors, I've written an implementation as well https://github.com/vvondra/Interval-Tree




回答4:


you can find another c# implementation for an interval tree (based on a self balancing avl tree) @ http://code.google.com/p/intervaltree/




回答5:


Yet another implementation can be found at https://github.com/erdomke/RangeTree. Unlike other implementations, it aims to have an interface that is similar to IDictionary<TKey, TValue> where possible. It can be used as follows:

var tree = new RangeTree<int, string>()
{
    { 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"


来源:https://stackoverflow.com/questions/8773469/c-sharp-interval-tree-class

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!