课程名称:算法与数据结构
课程章节:堆,优先队列和推排序 1-2堆的基本表示
主讲老师:Liuyubobobo
课程内容:
- 堆的基本结构
- 二叉堆 Binary Heap
- 完全二叉树
课程收获
满二叉树、完全二叉树、非完全二叉树的基本概念
-
概念:
- 1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。
- 2)左子树和右子树是有顺序的,次序不能任意颠倒。
- 3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。
-
特征1:
- 满二叉树:深度为k的二叉树有2k-1个节点(把二叉树的最下面一层去掉而得到的"金字塔")
- 完全二叉树:当二叉树的深度为k时,它的k层节点必须都是连续靠左并不可隔开的(满二叉树也符合),并且1~k-1层的结点数都达到最大个数(即1~k-1层为一个满二叉树)。
- 非完全二叉树:当二叉树的深度为k时,它的k层节点不是连续靠左并不可隔开的。如:4 5 7
特征2:
-
1、在二叉树的第i层上最多有2的i次方个结点(i≥1);
设i为3,3-1=2,2的2次方为4
得出结论第i层最多共有4个节点 -
2、深度为k的二叉树最多有2的k次方-1个结点(k≥1);
-
3、对任何一棵二叉树,如果其叶子结点数为n,度为2的结点数为n2,则n=n2+1;