私は自分のBツリーと2-3-4ツリー(順序4のBツリー)でブラッシュアップを行ってきましたが、これをC#で実装しようとしています。あなたへの私の質問は、BツリーノードがN-1個のアイテムとN個のサブツリーを含むことができるとすると、これらのノードの1つの典型的な表現は何ですか?それは配列、一連のリンクリスト、または私が考慮していないものですか?
1444 次
3 に答える
2
2-3-4ツリーの場合、それは実際には重要ではありません。大量注文の場合は、並べ替えられた配列とバイナリ検索を使用します。文字列のような可変サイズのキーの場合、トライは良い考えかもしれません。
于 2010-02-07T22:13:39.927 に答える
1
サブツリーとアイテムを組み合わせようとしないでください。2つの配列またはList<> が必要になります。
順序が決まっている場合は、2つの配列を使用します。それ以外の場合、aList<ItemClass>
とaList<SubTree>
于 2010-02-08T12:01:56.600 に答える
0
これは、C#でのバイナリ検索ツリーの作成に関するMSDNの興味深い記事です。Bツリーとまったく同じではありませんが、便利な場合があります。この場合の作成者は、ジェネリックコレクション基本クラスを使用します。
public class Node<T>
{
private T data;
private NodeList<T> neighbors = null;
...
}
public class NodeList<T> : Collection<Node<T>> { ... }
于 2010-02-07T22:21:25.843 に答える