一. 前言
数据结构-----树的学习过程中,我们会遇见一些摸棱两可的概念,比如树的度,子树的高度,子树的的深度等。我们时不时的会产生这样的困惑:“我参考学习的书籍明明是这样定义的,但有时又发现和别人讲的不同,在做一些OJ题的时候又不一样,孰是孰非,让大家变得很纠结。当然我也纠结过,纠结到底该学习哪一个版本。所以写一篇博客整理一下,让自己不再纠结。
二. 大话高度与深度
结点的度: 结点所拥有的子树(后继元、后继结点)个数
树的度:一棵树中结点的度的最大值
对于这两者的定义全网还是比较统一的,我们不必深究,直接看例子:
根据定义,A结点的度为4(它有四棵子树);B结点的度为0(它没有子树),叶子结点的度都是0;D结点的度为3(它有三棵子树);F结点的度为1(它有一棵子树)······整棵树的度为最大结点的度,即A结点的度4,所以这棵树的度为4。
对于结点深度和高度的定义,根据教材书籍的不同,总的概括为两个版本,这两个版本的核心区别是:将树的根结点所在的位置定义为第0层,还是定义为第1层。
如下:
《数据结构C语言版第二版》中国工信出版集团 人民邮电出版社出版 严蔚敏 编著 。该书将根结点所在的位置