关于树的深度和高度的计算

关于树的深度和高度的计算,我看到两个不同的说法,它们的区别就在于到底是从0开始计算还是从1开始计算。(网上的和算法题偏向说法二,如果有能找到更加权威的解答望不吝赐教)


说法一:
《数据结构与算法分析:C语言描述》 第2版中的第4.1节中:

关于树的深度和高度的计算_第1张图片


说法二:
来自:树的高度和深度的区别

关于树的深度和高度的计算_第2张图片

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。

你可能感兴趣的:(Algorithms,and,Data,Structures)