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 tree
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
where possible. It can be used as follows:
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"