4

区間木C#コレクションクラスを探しています。

間隔、理想的には2Dを追加できる必要があります。そうしないと、2つの標準的な1D間隔ツリーを組み合わせることができます。

また、特定の間隔と重なる間隔を見つける必要があります。

このintervaltree.codeplex.comを見つけましたが、

このリリースに関連するダウンロードはありません。

編集:

ここに続く:他のコードを使用したC#

4

5 に答える 5

6

ここにある別の実装を作成しました: https ://github.com/mbuchetics/RangeTree

また、タスク並列ライブラリ(TPL)を使用してツリーを再構築する非同期バージョンも付属しています。

于 2012-05-29T11:38:45.253 に答える
4

codeplexページにダウンロードがあります:http://intervaltree.codeplex.com/SourceControl/list/changesets- >右側->ダウンロード

于 2012-01-07T22:08:53.713 に答える
3

区間木(自己平衡AVL木に基づく)の別のc#実装を@http://code.google.com/p/intervaltree/で見つけることができます

于 2012-07-24T23:28:20.253 に答える
3

将来の訪問者のために、私も実装を作成しましたhttps://github.com/vvondra/Interval-Tree

于 2012-10-25T10:50:07.650 に答える
3

さらに別の実装は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"
于 2016-11-14T18:17:32.107 に答える