0-绪论

算法和算法分析

1、算法设计的要求:

1、 正确性(无歧义)

2、 可读性(算法主要为了人与人交流,晦涩难懂的程序易于隐藏错误,难调试和修改)

3、 健壮性(当输出非法数据、处理方法应当是返回一个表示错误或错误性质的值,而不是打印错误信息或异常,并中止程序的运行,以便在更高的抽象层次上进行处理)

4、 效率与低存储需求(效率 = 算法执行时间,存储量需求 = 算法执行过程中所需要的最大存储空间)

2、算法效率的度量

                1、事前进行一定的分析

                1、依据算法选用何种策略

                2、问题的规模

                3、书写程序的语言,对于同一算法,实现语言的级别越高,执行效率越低

                4、编译程序所产生的机器代码的质量

                5、机器执行指令的速度

一般情况下,算法中基本操作重复执行的次数时问题规模n的某个函数  f(n,算法的时间量度记作

T(n) =  O (fn))

它表示随问题规模n的增大,算法执行时间的增长率和 f(n的增长率相同,称做算法的

渐近时间复杂度,简称时间复杂度。

语句的频度指的是该语句重复执行的次数。

类似算法的时间复杂度,空间复杂度作为算法所需存储空间的量度,记作

S(n) =  O (fn))

猜你喜欢

转载自www.cnblogs.com/Fsiswo/p/9276868.html
-0-