树的高度和深度的理解

树的高度和深度的理解

最近回头看了一下数据结构,看到树的地方,发现之前学的东西只记住了个名字。发现很多地方对这个都有点分歧,所以我整理总结一下关于树的深度高度理解。

其实基本在书上和网上看到的分歧,大概就是深度和高度到底是不是一个东西?深度和高度怎么算?

(一)首先先看第一个问题,这两个东西是不是说的是一个概念。我看到知乎一个回答,是一本书的截图,他把深度和高度归结成一个概念,即树中节点的最大层次数。
我觉得这个不是很好,我比较喜欢我现在看的《数据结构预与算法分析 Java语言描述》原书第三版上的概念:
深度:对于任意节点n(i),为从根到到n(i)的唯一路径长度,例如根的深度为0.
高度:是n(i)到一片树叶的最大路径长度,例如叶节点的高度为0.

(二)关于高度和深度的计算
这边各个方面主要纠结的是树的高度和深度是不是相等的?这个问题其实很好解决,就看你怎么定义根的高度和叶节点的深度,如果你定义的是两个都是0或者1,是想等的。但如果不一样,就会相差1.

网上有的回答说,不必纠结,真正实际做的话根据自己的想法,我觉得最起码还是要了解一点基本概念,但对于分歧的地方要具体情况具体分析。考试的话,肯定按照教材的概念来,实际自己用,你喜欢那个就用哪个。确实没什么意义去纠结,按一点不去了解,貌似也不是很好,毕竟这东西和文学不一样,有的地方还是要稍微严谨一下。

*说句题外话,目前我的博客基本都是自己的原创,自己的学习体会理解,希望不要转载不标明出处好吗?同样的东西换到你名下,也不加一些你的理解和补充,有什么用?弄的搜一个结果很多重复的有什么用?
这是我的个人公众号:我是stubborn
虽然现在没什么内容,但我有时间也会更新运营一下,记录一下自己,希望自己变得更强,不再是个菜鸡,嘻嘻。*

猜你喜欢

转载自blog.csdn.net/feichangwurao/article/details/79214454