11

.NET ライブラリに組み込みの AVL ツリーはありますか?

私は検索しましたが、何も見つかりませんでした。

  • あるとすれば、どこに?何の名前空間?
  • そうでない場合、C# での AVL ツリーの適切な実装はありますか?
  • そうでない場合も!それを成し遂げる簡単な方法はありますか?私はそれがどのように機能するかを知っており、以前にネイティブ C++ で作成したことがありますが、今は時間がなく、自分で作成するとパフォーマンスが低下するのではないかと心配しています。
4

3 に答える 3

13

を使用できますSystem.Collections.Generic.SortedSet<T>。AVL ツリーに非常によく似た赤黒ツリーを使用して実装されていると思います。

于 2012-01-07T09:43:47.503 に答える
3

クイック検索で実装が見つかりましたhere。コードはきれいに見えますが、試していません。

他に何もない場合は、SortedSet<T>(@Josef によって提案されているように) に対する簡単なパフォーマンス テストを実行して、ユース ケースに違いがあるかどうかを確認できます。

于 2012-01-07T09:52:03.143 に答える
0

C# の実装は、@ http://code.google.com/p/self-balancing-avl-tree/で見つけることができます。連結操作と分割操作も実装されています。

于 2012-07-13T00:51:27.277 に答える