1 树的概念
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像是一颗倒挂的树。
树的定义:
- 有一个特殊的结点,称为根节点,根节点没有前驱结点。
- 除根节点外,其余节点被分成M(M>0)个互不相交的集合T1、T2、…Tm,其中每一个集合Ti(1<=i<=m)又是一颗结构与树类似的子树。每个子树的根节点有且只有一个前驱,可以有0个或多个后继。
- 因此,树是递归定义的。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210121223312147.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1Mjk3OTQ1,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021012123010820.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1Mjk3OTQ1,size_16,color_FFFFFF,t_70)
2 树的性质
- 子树互不相交;
- 除了根节点外,每个结点有且只有一个父节点;
- 一个N个结点的树有N-1条边。