树型结构是一类重要的非线性数据结构.
树是n个结点的有限集.树的结构定义是一个递归定义,即在树的定义中又用到树的概念,它道出树的固有特性.
树的结点包含一个数据元素及若干指向其子树的分支.结点拥有的子树数称为结点的度
.度为0的结点称为叶子或终端结点
,度不为0的点称为非终端结点或分支结点
.除根结点之外,分支结点也称为内部结点.树的度
是树内各结点的的度的最大值.结点的子树的根称为该结点的孩子,相应地,该结点称为孩子的双亲.结点的祖先是从根到该结点所经分支上的所有结点.以后结点为根的子树中的任一结点都称为该结点的子孙.
结点的层次从根开始定义起,根为第一层,根的孩子为第二层.树中结点的最大层次称为树的深度或高度
.
森林是m棵互不相交的树的集合.
二叉树
二叉树是另一种树型结构,它的特点是每个结点至多有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树有左右之分,其次序不能任意颠倒.
性质
- 在二叉树的第i层上至多有()个结点(i>=1).
- 深度为k的二叉树至多有()个结点(k>=1).
二叉链表存储表示
typedef struct BiTNode {
int data;
struct BiTNode * lchild, * rchild; // 左右孩子指针
} BiTNode, * BiTree;
来源:CSDN
作者:、moddemod
链接:https://blog.csdn.net/weixin_43833642/article/details/104076805