0

私は現在、C++ で多方向ツリーを実装しようとしていますが、それらが正確に何であるかはまだわかりません。いくつかのドキュメントを読みましたが、写真や視覚化が提供されていないため、まだ混乱しています。

オンライン Web ノートによると、3 ウェイ ツリーが必要だとします。これは、各ノードが最大 3-1 = 2 要素を持つことができ、各ノードが最大 3 つの子を持つことができることを意味します。以下に、3 方向の木であるかどうかわからないいくつかの木を描いています。これを正しく理解しているかどうか、誰か確認してもらえますか? ありがとうございました!

また、2 方向の木がある場合、それは二分木もあるということですか? おお? ここに画像の説明を入力

4

1 に答える 1

1

My understanding of a multi-way tree is the number of subtrees that can be traversed from a single node.

           +---+  
           | D |
           +---+  
             ^  
             |  
             |  
+---+     +------+     +---+  
| A | <-- | Root | --> | B |  
+---+     +------+     +---+
             |  
             |  
             V
           +---+  
           | C |  
           +---+  

The diagram above shows a multi-way tree because the root has more than 1 child.

Usually 2 children per node (except leaf nodes) indicates binary trees.
There are many different kinds of binary trees.

See also B-Tree and B*Trees.

Edit 1:
Another view:

 +------------------------+  
 |          Root          +
 +------------------------+  
  |       |       |       |  
  V       V       V       V  
+---+   +---+   +---+   +---+  
| A |   | B |   | C |   | D |  
+---+   +---+   +---+   +---+  
于 2015-04-10T00:20:14.050 に答える