我目前正准备用 C++ 实现多路树,但我仍然不确定它们到底是什么。我已经阅读了一些文档,但由于缺少图片或可视化,我仍然感到困惑。
假设我想要一个 3 向树,根据在线网络注释,这意味着每个节点最多可以有 3-1 = 2 个元素,每个节点最多可以有 3 个子节点。下面我画了一些树,我不确定它们是否是三叉树,有人可以验证我是否理解正确吗?谢谢!
另外,如果我有一个二叉树,那是否意味着我也有一个二叉树?哦?
最佳答案
我对多路树的理解是从单个节点可以遍历的子树的数量。
+---+
| D |
+---+
^
|
|
+---+ +------+ +---+
| A | <-- | Root | --> | B |
+---+ +------+ +---+
|
|
V
+---+
| C |
+---+
上图显示了一棵多路树,因为根节点有多个子节点。
通常每个节点有 2 个子节点(叶节点除外)表示二叉树。
二叉树有很多种。
另请参阅 B 树和 B* 树。
编辑 1:
另一种观点:
+------------------------+
| Root +
+------------------------+
| | | |
V V V V
+---+ +---+ +---+ +---+
| A | | B | | C | | D |
+---+ +---+ +---+ +---+
关于c++ - 这是我应该如何理解多路树是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29551109/