树的高度、深度、层数

可能是全网最透彻的讲解树的基本概念的一篇文章了。

对于很多朋友来说,特别是半路出家转码农的朋友来说,数据结构是最薄弱的一项了,线性表和链表还好理解(如果链表不懂的见我的另一篇文章https://blog.csdn.net/jigetage/article/details/88694867),一到树就完全懵逼了,甚至看不懂别的网友发的博客。大部分原因是不知道有关树的基本概念。这里总结出来,熟练背诵即可。

先说节点:

对于节点来说,有高度,深度,层数三个概念。

高度指的是从此节点开始到最下面叶子结点的长度,这个长度就是经历的节点的个数。

深度指的是从根节点开始到此节点的长度,这个长度也是经历的节点的个数。

对于节点来说,高度 != 深度。

但是,根节点的高度 == 最深的叶子结点的深度。

层数指的是该节点所处的位置,根节点为第1层,往下依次加1。

再说树本身:

树本身只有高度、深度两个概念。

对于树来说,高度 == 深度,高度和深度描述的是同一个东西,指的就是书中节点的最大层数,可以理解为层数最高的叶子结点的层数。即,树的高度 == 树的深度 == 树中最深的叶子结点的深度 == 树中根节点的高度。

补充:节点的度指的是此节点的子树的个数。

猜你喜欢

转载自blog.csdn.net/jigetage/article/details/88823274