С# Дерево классов интервала

Я ищу класс коллекции С# с интервальным деревом.

Мне нужно иметь возможность добавлять интервалы, идеально 2D, иначе я мог бы объединить два стандартных дерева с интервалом 1D.

Мне также нужно выяснить, какие интервалы перекрывают данный интервал.

Я нашел это intervaltree.codeplex.com, но

В этом выпуске нет загрузок.

изменить:

Продолжить здесь: С# с помощью кода других пользователей

Ответ 2

Я просто написал еще одну реализацию, которую можно найти здесь: https://github.com/mbuchetics/RangeTree

Он также поставляется с асинхронной версией, которая восстанавливает дерево с помощью параллельной библиотеки задач (TPL).

Ответ 4

вы можете найти другую реализацию С# для дерева интервалов (основанное на собственном балансировочном дереве avl) @http://code.google.com/p/intervaltree/

Ответ 5

Еще одна реализация может быть найдена в https://github.com/erdomke/RangeTree. В отличие от других реализаций, он стремится иметь интерфейс, который по возможности похож на IDictionary<TKey, TValue>. Его можно использовать следующим образом:

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"