1 算法的定义
算法是对特定问题求解步骤的一种描述,它是指令的有限序列。
2 算法的特性
一个算法具有有穷性、确定性、可行性、输入和输出等5个重要的特性。
(1)有穷性:有穷性是指一个算法必须在执行有穷步之后结束,每一步都在有穷时间内完成。
(2)确定性:确定性是指算法中的每条指令都有确定的含义。
(3)可行性:算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现。
(4)输入
(5)输出
3 算法的目标
一个好的算法应达到以下四个目标:正确性、可读性、健壮性(又称鲁棒性)以及高效率与低存储量需求。
4 算法分析
(1)定义
算法分析是指对一个算法的允许时间和占用空间做定量的分析,常用时间复杂度和空间复杂度表示。
(2)目的
算法分析的目的就是降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
5 例题
(1)计算机算法指的是 答案:D
A 计算方法 B 排序方法 C 调度方法 D 解决问题的步骤序列
(2)算法分析的两个主要方面是 答案:B
A 算法的正确性和可行性 B 算法的时间复杂度和空间复杂度
C 算法的有穷性 D 算法的稳定性和安全性
(3)对一个算法的评价,不包括如下 方面的内容。 答案:B
A 健壮性和可读性 B 并行性 C 正确性 D时空复杂度
(4)算法指的是 答案:D
A 计算机程序 B 解决问题的计算方法 C 排序算法 D 解决问题的有限序列
(5)下列说法中错误的是 答案:B
A 算法具备可行性、确定性和有穷性等重要特性
B 算法的时间复杂度是指获知算法执行时间的复杂程度
C 算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗时间来度量
D 算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现的
(6)下列关于算法说法正确的是 答案:D
A 算法最终必须由计算机程序实现
B 算法是对特定问题求解步骤的描述,是指令的有限序列,其中每一条指令表示一个操作
C 算法的可行性是指指令不能有二义性
D 以上几个都是错误的
解析:选项A:程序只是实现算法的一个手段,算法也可以用其他办法实现,所以选项A错误;
选项B:算法的每一条指令表示一个或多个操作,所以选项B错误;
选项C:算法的可行性是指算法中描述的操作都可以通过已经实现的基本运算执行有限次实现,所以选项C错误。