算法分析及算法复杂度

算法分析

一、算法设计要求

1、正确性

2、可读性

3、健壮性:当输入的数据非法时,算法也能做出适当的反应或进行处理,而不会产生莫名其妙的输出结果

4、效率和低存储量要求

二、算法效率的度量

1、时间复杂度:基本操作的重复执行次数,当规模n->∞时,F(n) = O(f(n));f(n)满足当n->∞时,总是存在C,使得F(n)/f(n) <= C(C是常数)即f(n)代表了F(n)的增长趋势,并且是在最坏的情况下的时间复杂度

举例:如下为使用上述定理求解f(n)

    2、空间复杂度:算法所需存储空间的度量

上述两者,如果其与问题规模n无关,则对应的复杂度为O(1);

 三、算法复杂度化简规则

1、忽略次要项,只留主要影响增长趋势的项

2、系数都可变为1

由此得出如下图的结论:

由于第一条常底数无所谓,所以常常忽略底数,直接记作logn

原文地址:https://www.cnblogs.com/denghui666/p/9564632.html