算法课要期末考了!!! 现在复习中 顺便补下应该作的笔记
第一章 算法分析的数学基础
--首先是一些记号:
1. 复杂函数的阶:渐近复杂性
即:
这里难点是怎么理解各个量是什么玩意儿,数学就是这样,变量符号一大堆,不清楚哪个是哪个的话很容易头晕。
符号 n 的意义,这个表示的我们的输入规模,比如对n个数排序,那么输入规模就是n。首先呢,T(n)是个复杂函数,给出的例子是3n3+2n2,然后怎么求他的复杂性阶呢?上阶:3n3+2n2<=5n3 (这里n是输入规模,一定是大于等于1的,所以
2n3 》=2n2), 所以上阶是 c*n3 (c是一大于0的常数),则表示为T(n)=O(n3),至于下界和同 阶类推就可以了。
2. 和的估计与界限
这小节主要讲了写估计和的界限的一些常用方法:
第一种:直接求和的界限,比如:
,
第二种:求和转化为求积分
第三种:递归方程
3. 主定理
比较重要的知识,考试估计会考到,好好复习下。
关于主定理的理解:首先主定理只适用于上述的3种情形,不是这3种不能套用。不管是那种情形,实际上都是将f(n)的阶与的阶比较,其中哪个较大就取哪个的时间复杂度,若两者的时间复杂度是同阶的则取第二种情况
来个例子: