树:
1.节点的度:节点的度就是这个节点有几个后继结点,这个节点的度就是多少。
2.树的度:这个树形结构中有最多后继的结点的后继数就是树的度。
3.叶节点:就是没有后继结点的结点。
4.结点的层和树的高度:结点的层,从第一层开始,依次加1,就是层,高度就是有几层就是树的高度。
5.有序树和无序树:不考虑结点位置的前后关系的是无序树,反之,考虑结点位置前后关系的是有序树。
6.森林:由一个或多个树组成的就是森林。
二叉树:就是只有两个分支
五个重要性质:
性质1:二叉树第i层上至多有2i-1结点(i>=1).
性质2:高度为k的二叉树至多有2k-1个结点。
性质3 对任意一棵非空二叉树,如果叶结点的个数为n0,度为2的结点的个数为n2,则n0 =n2+1。
性质4 具有n个结点的完全二叉树的深度为【log2 n】(这个代表取整数)+1 。
性质5 对于一棵具有n个结点的完全二叉树,按照层次自上而下,自左而右的顺序给每个结点编号,则对任意编号为i(1≤i≤n)的结点有下列性质:
(1) 若i=1,则结点i是二叉树的根;若i>1,则结点i的双亲结点为。
(2) 若2i<n,则结点i有左孩子,其左孩子的编号为2i,否则i无左孩子,是叶结点。
(3) 若2i+1<n,则结点i有右孩子,其右孩子的编号为2i+1,否则i无右孩子。
完全二叉树的性质:1)设二叉树的高度为K,则所有叶结点都出现在第K层或K~1层(2)地K-1层所有的叶节点都在非终结结点的右端(3)除了第k-1层的最右非终结结点可能有一个或者两个分支外,其余非终结结点都有左右两个分支。
二叉树的实现是通过定义的一个结构体里面包含要保存的数据,左孩子指针,右孩子指针,各个数据元素通过链表的那种结构保存,然后把这个链表放在一个数组中,输入数据的时候输入序号 +数据。
二叉树数据的几种遍历数据的方式:
1.前序:访问的顺序为:根节点,左子树,右子树
例如:
这个二叉树的先序排列就是1 2 4 8 9 5 10 3 6 7
2.中序:访问顺序为:左子树,根节点,右子树
例如:
这个二叉树的中序排列就是8 4 9 2 5 10 1 3 6 7
3,后序:访问顺序为:左子树,右子树,根节点
例如:
这个二叉树的后序排列就是8 9 4 10 5 2 6 7 3 1
若有错误,请指正。,谢谢,我们一起进步。