珺珺期末考试刚考完,打算温习一遍算法分析与设计课程的内容。
一、什么是算法?
算法(Algorithm)是指解决问题的方法或过程,它包含一系列步骤,用来将输入数据转换成输出结果。
算法具有以下性质:
输 入:有零个或多个输入
输 出:至少有一个输出
确定性:组成算法的每条指令清晰、无歧义
有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限
程序:是算法用某种程序设计语言的具体实现,程序不一定满足有限性
算法复杂性 :算法所需要的计算机资源
算法的时间复杂性T(n):如果问题的规模为n,在算法输入为I时算法所需的时间资源为T(N,I) ,T(N,I)称为算法的时间复杂性
算法的空间复杂性S(n):如果问题的规模为n,在算法输入为I时算法所需的空间资源为S(N,I) ,S(N,I)称为算法的空间复杂性
算法分析:分析算法复杂性的过程
空间复杂性分析相对比较简单,通常主要分析时间复杂性
二、时间复杂性分析
时间复杂性渐进表示法
算法复杂性的渐近性态:对于F(N),如果存在F’(N),使得当N→∞时有:
(F(N )-F’(N )) / F(N ) → 0

渐近意义下的记号:O、Ω、θ、o
通常我们用大写的O(即阶的英文单词order的首字母)来渐进表示算法时间复杂性。
O表示法:

示例如下:


本文介绍了算法的基本概念,包括输入、输出、确定性和有限性,并阐述了算法的时间复杂性与空间复杂性的定义。重点讨论了时间复杂性分析,特别是渐进表示法,如O表示法,并提供了示例进行说明。此外,还提及了空间复杂性分析,指出其通常侧重于时间复杂性的分析。

被折叠的 条评论
为什么被折叠?



