![](https://img-blog.csdnimg.cn/img_convert/3d68ce8178d93031caccaabbeb85f853.png)
本章学习的即是非线性结构之一的树形结构,有一个前趋但有多个后继,1:n。
树形结构:结点之间有分支;具有层次关系。
1.树的定义
![](https://img-blog.csdnimg.cn/img_convert/d79277dada60074257223babca300e84.png)
不难发现,树是递归嵌套着构成的,树由根和子树构成;而子树又由子树的根和子树构成。
![](https://img-blog.csdnimg.cn/img_convert/800d565bb0e4235095c17a3a4da8420a.png)
![](https://img-blog.csdnimg.cn/img_convert/83cb66c5269e949584e75c53be91dfc7.png)
2.树的基本术语:
结点:数据元素以及指向子树的分支;
根结点:非空树中无前趋结点的结点;
结点的度:结点拥有的子树数/结点拥有的分支的个数/结点的后继个数;
树的度:树的所有结点对应的结点的度里面的最大值;
叶子:度为0,终端结点;
分支结点:度不为0,非终端结点;其中根结点之外的分支结点又称为内部结点;
树的前驱后继又可以称为双亲和孩子:结点的子树的根称为该结点的孩子,该结点称为孩子的双亲;
兄弟结点:有共同的双亲;兄弟结点一定是同一层;
层:根节点为第一层,根节点的孩子为第二层,以此类推为层;同一层不一定是兄弟,可以为堂兄弟;
树的深度:树的结点当中的最大层,如下图的树深度为4,因为最大层是第4层;有时候也称为高度;
结点a的祖先:从根到该结点a的所经分支上的所有结点都称为该结点a的祖先;
结点a的子孙:以该结点a为根的子树上的任一结点都称为该结点a的子孙;