第五章 树与二叉树
树的性质
(1)结点数 = 所以结点的度数之和+1
(2)度为m的树第i层上最多又
个结点(i>=1)
(3)高为h的m叉树至多有
个结点
特殊的二叉树
1)满二叉树
高度为h,含有
个结点
对于编号为i的结点,双亲为
,左孩子为
,右孩子为
2)完全二叉树
若
,则该结点为分支结点
只可能有0个或1个度为1的结点
若n为奇数,则每个分支结点都有左右孩子,若n为偶数,则编号为
的结点只有左孩子
3)二叉排序树
4)平衡二叉树
二叉树的性质
第k层上之多有
个结点
高度为h的二叉树至多有
个结点
对于编号为i的结点,双亲为
,左孩子为
,右孩子为
平衡二叉树的查找
假设以
表示深度为h的平衡二叉树中含有的最少结点数。有
。
可以证明,含有n个结点的平衡二叉树的最大深度为
红黑树
一棵红黑树是满足红黑性质的二叉排序树。(对于每个结点,从该结点到任意一个叶子结点的简单路径上,所含黑结点的数量相同,成为黑高bh)
几个结论
1)从根到叶结点的最长路径不大于最短路径的两倍(要知道为什么)
2)有n个内部节点的红黑树的高度
,
3)查找的时间复杂度为
第六章 图
一些基本概念
1)简单图:不存在重复边,不存在顶点到自身的边
2)完全图:无向图:有
条边
有向图:有
条弧
在无向图中讨论连通性,有向图中讨论强连通性
(太多了,比较小的可以可以翻翻王道课表p169)
若一个图有n个顶点,并且有大于n-1条边,则此图一定有环。
简单路径:顶点不重复出现
第八章 排序
内部排序算法的比较
1)简单选择排序与序列的初始状态无关。
2)简单选择排序、插入排序、冒泡排序、希尔排序和堆排序都仅需借助常数个辅助空间。
快速排序需要借助一个递归工作栈,平均大小为
,最坏情况为
。
二路归并排序需要较多的辅助空间用于元素复制,大小为
3)稳定的:插入排序、冒泡排序、归并排序、基数排序
不稳定:简单选择排序、快速排序、希尔排序、堆排序