Algorithm 二叉树中节点高度和深度概念的混淆

Algorithm 二叉树中节点高度和深度概念的混淆,algorithm,binary-tree,graph-theory,Algorithm,Binary Tree,Graph Theory,我对二叉树做了一些研究,发现其他来源对二叉树中节点的深度和高度给出了不同的概念 我的想法 高度=从给定节点到叶节点的最大路径长度 深度=从给定节点到根节点的边数 我从这里得到了这个概念,但当只有一个节点时,我感到困惑,即根的高度是1嗯,level只是一个不直观的词,因为我们在视觉表示中看待类似树的东西的方式 根据这篇博文,节点的级别由1+节点和根节点之间的连接数定义 在这种情况下,所有这些级别都有意义。7与1之间有3个连接 但是,您也有一些不正确的高度。请记住,高度是从节点到叶的最长路径。所以A

我对二叉树做了一些研究,发现其他来源对二叉树中节点的深度和高度给出了不同的概念

我的想法 高度=从给定节点到叶节点的最大路径长度

深度=从给定节点到根节点的边数


我从这里得到了这个概念,但当只有一个节点时,我感到困惑,即根的高度是
1

嗯,level只是一个不直观的词,因为我们在视觉表示中看待类似树的东西的方式

根据这篇博文,节点的级别由1+节点和根节点之间的连接数定义

在这种情况下,所有这些级别都有意义。7与1之间有3个连接

但是,您也有一些不正确的高度。请记住,高度是从节点到叶的最长路径。所以A的高度是到E,而不是到G的路径的边数,它的高度是3

  5
 /  \
6    7 

在该示例中,5有一行子节点,这些子节点是叶节点,因此其高度为1。但如果将6和7视为单独的树,它们的高度为0,因为它们是叶节点

嗯,级别只是一个不直观的词,因为我们在视觉表现中看待类似于树的东西的方式

根据这篇博文,节点的级别由1+节点和根节点之间的连接数定义

在这种情况下,所有这些级别都有意义。7与1之间有3个连接

但是,您也有一些不正确的高度。请记住,高度是从节点到叶的最长路径。所以A的高度是到E,而不是到G的路径的边数,它的高度是3

  5
 /  \
6    7 

在该示例中,5有一行子节点,这些子节点是叶节点,因此其高度为1。但如果将6和7视为单独的树,它们的高度为0,因为它们是叶节点

简单地说,节点的深度是指从根开始到节点必须穿过的边数。节点的高度是从该节点开始向下遍历以到达最远节点的边数。树的高度是它的根的高度。

简单地说,节点的深度是从根开始到节点必须穿过的边数。节点的高度是从该节点开始向下遍历以到达最远节点的边数。树的高度是它的根的高度。

来自您链接的帖子:

Height of node – The height of a node is the number of edges on the longest downward path between that node and a leaf.
我想它说根的高度是1,参考单根的例子

在你的例子中,我认为应该是:

/*         
     *         1         (1)    level = 1, height = 3, depth = 0
     *        / \ 
     *       2   3       (3)    level = 2, height = 0, depth = 1
     *      / \    
     *     4   5         (5)    level = 3, height = 1, depth = 2
     *        / \ 
     *       6   7       (6, 7) level = 4, height = 0, depth = 3
     */
编辑:好的,你更正了你的帖子,所以我帖子中的相关点是
我想它说根的高度是1,参考了单根的例子。

来自您链接的帖子:

Height of node – The height of a node is the number of edges on the longest downward path between that node and a leaf.
我想它说根的高度是1,参考单根的例子

在你的例子中,我认为应该是:

/*         
     *         1         (1)    level = 1, height = 3, depth = 0
     *        / \ 
     *       2   3       (3)    level = 2, height = 0, depth = 1
     *      / \    
     *     4   5         (5)    level = 3, height = 1, depth = 2
     *        / \ 
     *       6   7       (6, 7) level = 4, height = 0, depth = 3
     */
编辑:好的,你更正了你的帖子,所以我帖子中的相关点是
我想它说根的高度是1,参考单根的例子。

@ZaphodBeeblebrox查看我的最后一行问题。这种联系并不能解释这种怀疑。在问之前做一点搜索是没有坏处的。@zaphod你怎么会认为我什么都没搜索过?我提出了我的高度和深度理论吗?我不是问它们是什么,我只是问,在各种概念中,我之所以选择这个概念,是因为我觉得它更直观,唯一的困惑在于根节点的高度。说真的,你没有看到博客帖子的链接?普通的@CodeYagi“什么使你认为我没有搜索过任何东西?”我发布的链接回答了你的问题?ZaphodBeeblebrox查看我的最后一行问题。这种联系并不能解释这种怀疑。在问之前做一点搜索是没有坏处的。@zaphod你怎么会认为我什么都没搜索过?我提出了我的高度和深度理论吗?我不是问它们是什么,我只是问,在各种概念中,我之所以选择这个概念,是因为我觉得它更直观,唯一的困惑在于根节点的高度。说真的,你没有看到博客帖子的链接?普通的@CodeYagi“什么使你认为我没有搜索过任何东西?”我发布的链接回答了你的问题?当我们只有一个节点时会是什么情况?它的高度是多少?@CodeYogi在这种情况下它将是零。那么,你说单个节点被认为是叶而不是根,对吗?@CodeYogi单个节点被认为是叶和根。叶是因为它没有子节点,而根是因为它没有父节点。当我们只有一个节点时会发生什么情况?它的高度是多少?@CodeYogi在这种情况下它将是零。那么,你说单个节点被认为是叶而不是根,对吗?@CodeYogi单个节点被认为是叶和根。叶子是因为它没有孩子,根是因为它没有父母。