algorithm - 树的深度和直径有什么区别?

标签 algorithm tree terminology

嗨,我对树的深度和直径之间的差异有点困惑。很抱歉,如果它已经问过但我找不到它。

最佳答案

  • 节点的深度是从节点到树的根节点的边数。
    根节点的深度为 0。

  • 节点的高度是从节点到叶子的最长路径上的边数。
    叶子节点将具有高度为 0。

  • 树的直径(或宽度)是任意两个叶节点之间最长路径上节点的数量.下面的树有 6 个节点的直径。

A tree, with height and depth of each node


顺便说一句,我看到树的直径(或宽度)以一种非常好的方式展示:想象你的树是按钮(或圆盘)和(等长)字符串的真实对象。选择任何节点/按钮并将树举在空中。现在卡在最低处的按钮离你持有的节点最远。现在按住最低的按钮并放开另一个。现在卡在最低处的按钮是距离您所持按钮最远的节点。直径是您手持的节点与最低节点之间的节点数。

关于algorithm - 树的深度和直径有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15431453/

相关文章:

javascript - 根据 360 度重新排列数组

javascript - 关于不同内置数组方法 Javascript 的术语

python - 解码附加数的标准解决方案

algorithm - 是否有任何模式/算法可以知道动态树中某些属性的数量?

c - 二叉搜索树的中序遍历

c++ - 如何在 C++ 中有效地返回树中的节点列表

algorithm - 树数据结构的高效删除

c++ - make_shared、make_pair 等叫什么?

javascript - Eteration - 解释和示例

algorithm - 决策变量的数量与目标空间维度的关系?