树的高度和深度的区别

对于树的基本概念上理解,对于才接触数据结构的人来说,树的高度和深度是一个容易混淆的知识点,现解释如下:

1.高度

对于高度的理解,我们不管他数据结构什么什么知识,就拿楼房来说,假如一个人提问:楼房的高度有好高?我们会下意识的从底层开始往上数,假如楼有6层,则我们会说,这个楼有6层楼那么高,则提问者就会大概知道楼有多高了。所以高度就是以从下往上对比,这是我们的习惯。而在树中,树的高度也是从下往上数,如图所示

K节点在树的底层,是一个叶子节点,则一般定义为K的高度在最低为1,以此类推,O的高度也是为1,P的节点也是为1。M节点是叶子节点O的父节点,从下往上数,M节点高度为2。那么G节点的高度是多少呢?从G-L的高度为2,从G-M-O节点高度为3,到底G节点高度为多少呢,正确答案是3,请看定义:

高度的定义为:从结点x向下到某个叶结点最长简单路径边的条数

注意:对于是否是边的条数这个不清楚,待我后来查证,这个主要是由于其初值是1还是0来确定的,一般都是以1开始

2.深度

理解了高度,则深度的理解就很容易了,深度是从根节点往下,列如上图中:B的深度为2。

3.总结

 

对于整棵树来说,最深的叶结点的深度就是树的深度;树根的高度就是树的高度。这样树的高度和深度是相等的。

 对于树中相同深度的每个结点来说,它们的高度不一定相同,这取决于每个结点下面的叶结点的深度。

 

posted @ 2017-11-09 15:55  阿拉善的樵夫  阅读(2269)  评论(0编辑  收藏  举报