这是我应该如何理解多路树是什么?
Is this how I should be understanding what a multiway tree is?
我目前正准备用 C++ 实现多路树,但我仍然不确定它们到底是什么。我已经阅读了一些文档,但由于缺少图片或可视化,我仍然感到困惑。
假设我想要一个 3 路树,根据在线网络注释,这意味着每个节点最多可以有 3-1 = 2 个元素,每个节点最多可以有 3 个子节点。下面我画了一些树,我不确定它们是否是三叉树,有人可以验证我是否理解正确吗?谢谢!
此外,如果我有一个二叉树,是否意味着我也有一个二叉树? O.o?
我对多路树的理解是从单个节点可以遍历的子树的个数。
+---+
| D |
+---+
^
|
|
+---+ +------+ +---+
| A | <-- | Root | --> | B |
+---+ +------+ +---+
|
|
V
+---+
| C |
+---+
上图显示了一棵多路树,因为根节点有多个子节点。
通常每个节点有 2 个子节点(叶节点除外)表示二叉树。
有许多不同种类的二叉树。
另请参阅 B 树和 B* 树。
编辑 1:
另一种观点:
+------------------------+
| Root +
+------------------------+
| | | |
V V V V
+---+ +---+ +---+ +---+
| A | | B | | C | | D |
+---+ +---+ +---+ +---+
我目前正准备用 C++ 实现多路树,但我仍然不确定它们到底是什么。我已经阅读了一些文档,但由于缺少图片或可视化,我仍然感到困惑。
假设我想要一个 3 路树,根据在线网络注释,这意味着每个节点最多可以有 3-1 = 2 个元素,每个节点最多可以有 3 个子节点。下面我画了一些树,我不确定它们是否是三叉树,有人可以验证我是否理解正确吗?谢谢!
此外,如果我有一个二叉树,是否意味着我也有一个二叉树? O.o?
我对多路树的理解是从单个节点可以遍历的子树的个数。
+---+
| D |
+---+
^
|
|
+---+ +------+ +---+
| A | <-- | Root | --> | B |
+---+ +------+ +---+
|
|
V
+---+
| C |
+---+
上图显示了一棵多路树,因为根节点有多个子节点。
通常每个节点有 2 个子节点(叶节点除外)表示二叉树。
有许多不同种类的二叉树。
另请参阅 B 树和 B* 树。
编辑 1:
另一种观点:
+------------------------+
| Root +
+------------------------+
| | | |
V V V V
+---+ +---+ +---+ +---+
| A | | B | | C | | D |
+---+ +---+ +---+ +---+