第一节课
对于算法的分析是基于一个抽象的机器,分析的算法就不拘泥于某个特定的机器(RAM Model)
对于算法正确性的证明:数学归纳法。保证在输入的数量无穷多的情况,仍然可以保证输出的正确性
算法的性能分析:不能够使用时间这种精确的指标,应该也是采用一种足够抽象的度量工具:操作步的计数
测量条件:最好最坏和平均时间复杂度
第二节课
算法的评价
- 对于算法的分析不是计算详细的数据,而是统计关键步骤的数量
- 对于算法的分析是基于大的输入规模的
- 对于算法的分析只把握主体部分,忽略次要部分
利用Ω,O,θ来进行分析
对于这三个,本质是一个函数的集合,然后就是判断当前的函数是否属于集合
对于判断是否属于O,使用极限来考虑,通俗就是(不超过)
对于判断Ω也是利用极限判断(不低于)
同样的还有θ
这三个符号有一些关系,传递性,对称性,和性质
还有小写的符号,前面的O是对于一个f,当n足够大的时候有cg>f,这里的o是对于任意的c都存在n使得cg>f
同理还有一个
这里对于θ没有对应的小写,前面的大写的θ可以认为是O和Ω的交集,对于小写的而言,他们没有交集