算法
算法是指解决问题的一种方法或一个过程
算法的四个特性
- 输入:有外部提供的量作为算法的输入。
- 输出:算法产生至少一个量作为输出。
- 确定性:组成算法的每条指令是清晰,无歧义的。
- 有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。是与程序的关键区别
程序
程序是算法用某种程序设计语言的具体实现
程序可以不满足算法的性质(4)。例如操作系统,是一个在无限循环中执行的程序,因而不是一个算法。
算法的时间复杂性
其中I是问题的规模为n的实例,p(I)是实 例I出现的概率
- 最坏情况下的时间复杂性
- 最好情况下的时间复杂性
- 平均情况下的时间复杂性
算法渐近复杂性
在下面的讨论中,对所有n,f(n) >= 0,g(n) >= 0。
- 渐近上界记号O
- 渐近下界记号 Ω \Omega Ω
- 非紧上界记号 o o o
- 非紧下界记号 ω \omega ω
- 紧渐近界记号 Θ \Theta Θ