基本概念
程序
= 算法
+ 数据结构
算法描述如何解决一类问题的一种方法,满足如下性质:
-输入
:一类问题的实例
- 输出
:针对实例的解
- 确定性
:每条指令无歧义
- 有限性
:有限循环
程序 不满足有限性
性质, eg. 操作系统为无限循环。
为某一类问题设计算法,具体流程如下:
算法复杂性分析
复杂性分析主要体现在:
- 时间复杂性T(n)
- 空间复杂性S(n)
其中,n 表征问题的规模大小。
算法的时间复杂性主要考虑:
最坏情况下的时间复杂性,上界
Tmax(n)=max{ T(I)|size(I)=n} T m a x ( n ) = m a x { T ( I ) | s i z e ( I ) = n }
最好情况下的时间复杂性, 下界
Tmin(n)=m