算法第一篇之概念

1.  算法是什么

算法:一种计算的方法,在程序设计上,表现为一组指令序列。 

输入->算法->输出

2.  如何评价算法


对于程序设计而言,无非就是两个方面:算法有多快?(时间效率);内存耗得多不多?(空间效率)
算法的复杂度分析,包括上述两个方面,各自称为时间复杂度分析和空间复杂度分析。通常我们更关注的是算法的时间复杂度。 

设问题规模为n,即输入数据的大小,时间复杂度记为T(n)
比如n个输入数据,需要做2*n个基本运算,那么T(n) = 2*n

渐进时间复杂度

比如:     T(n) = 2*n        则O(n)=n,     实际中就称算法时间复杂度为n

                   T(n)= 3*n2           则O(n)=n2,  实际中就称算法时间复杂度为n2

T(n) =3* log(n)则O(n)=log(n),    实际中就称算法时间复杂度为log(n)

空间复杂度分析 

分析算法运行过程中所占用存储空间大小,其分析和时间复杂度类似。

如果使用1个基本空间单位,则空间复杂度为O(1)

如果使用n个基本空间单位,则空间复杂度为O(n)

这里说的空间复杂度实际中也是渐进空间复杂度。






你可能感兴趣的:(数据结构与算法)