这是算法理论中的一个简单问题。 它们之间的区别是,在一种情况下,你计算节点的数量,在另一种情况下,计算根节点和具体节点之间最短路径上的边的数量。 哪个是哪个?


当前回答

节点深度是指从树的根节点到该节点的路径中存在的边数。


节点的高度是指连接该节点到叶节点的最长路径中存在的边数。


其他回答

节点的“深度”(或等效的“层数”)是根节点“路径”上的边数

节点的“高度”是指从该节点到叶节点的最长路径上的边数。

树的高度和深度是相等的……

但是节点的高度和深度是不相等的,因为…

高度是通过从给定节点遍历到可能最深的叶来计算的。

深度是从根到给定节点.....的遍历计算的

根据Cormen等人。算法简介(附录B.5.3),树T中节点X的深度定义为从T的根节点到X的简单路径的长度(边数),节点Y的高度是从Y到叶子的最长的向下简单路径上的边数。树的高度定义为其根节点的高度。

注意,简单路径是没有重复顶点的路径。

树的高度等于树的最大深度。节点的深度和高度不一定相等。这些概念的说明见Cormen et al.第三版的图B.6。

我有时会遇到要求计算节点(顶点)而不是边的问题,所以如果你不确定是否应该在考试或工作面试中计算节点或边,就要求澄清。

节点深度是指从树的根节点到该节点的路径中存在的边数。


节点的高度是指连接该节点到叶节点的最长路径中存在的边数。


深度:


树中节点的深度是从根节点到该节点的路径长度。树的深度是树中所有节点的最大深度。

高度:


节点的高度是从该节点到树中最深节点的路径长度。树的高度是树中从根节点到最深节点的路径长度。(例如:上面例子中的树的高度是4(计算边,而不是节点))。 只有一个节点的树高度为零。

要了解更多关于树的基础知识,请访问:树的介绍和属性