树与二叉树
第二章 二叉树的基础知识
基础概念(3个)
- 二叉树是n(n≥0)个结点的集合:
1.或者空二叉树,即n=0 2.或者由一个根节点和两个互不相交的的被称为根的左子树和右子树
- 二叉树的特点:
1.每个结点最多只有两棵子树(每个结点的度最多为2) 2.左右子树位置不能颠倒(二叉树是有序树)
- 二叉树的五种状态
注意:空二叉树属于二叉树!!!
几种特殊的二叉树(4个)
-
满二叉树:一棵高度为h,且含有2h-1个结点的二叉树
特点: 1.只有最后一层有叶子结点 2.不存在度为1的结点 3.按层序从1开始编号,结点i的左孩子为2i,有孩子为2i+1;结点i的父节点为(i/2)
-
完全二叉树:高度为h,有n个结点的二叉树,当且仅当每个结点都与高度为h的满二叉树中编号为1~n的结点一一对应时,称为完全二叉树
特点: 1.只有最后两层可能有叶子结点 2.最多只有一个度为1的结点 3.按层序从1开始编号,结点i的左孩子为2i,有孩子为2i+1;结点i的父节点为(i/2) (和满二叉树特点3相同,方便记忆) 4.i≤[n/2]为分支结点,i>[n/2]为叶子结点 (记住一个,就能想起另一个)
-
二叉排序树:左子树上所有结点的关键字均小于根节点的关键字;右子树上的所有结点的关键字均大于根节点的关键字;同时左右子树又各是一棵二叉排序树
-
平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1
二叉树的性质(4个)
-
非空二叉树上叶子结点数等于度为2的结点数加1,即n0=n2+1
-
非空二叉树上第i层上至多有2i-1 个结点
补充: m叉树第i层至多有mi-1 个结点
-
高度为h的二叉树最多有2h-1个结点(k≥1)
方便理解:满二叉树的结点数
补充: 高度为h的m叉树最多有mh-1/m-1 个结点 -
具有n个(n>0)结点的完全二叉树的高度h为 l o g 2 ( n + 1 ) log_2 (n+1) log2(n+1)或者( l o g 2 n log_2 n log2n)+1
求n个结点完全二叉树的高度
补充: 高为h的完全二叉树最多有2h-1
补充: 高为h的完全二叉树最少有2h-1