4.1 算法概论
6 S8 }6 Z8 i5 Y# }0 W 1.算法的概念
5 i M& u5 q! q% o) @ 算法:指用计算机解决某一问题的方法和步骤。% g0 e& S% v* R0 J; O' Z/ M" a
算法分类: 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。' Z" h* `+ ^. {& i" q
非数值算法:用于对非数值信息进行查找、排序等。
6 O3 M1 w: {/ b# w0 `# ^- x 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。! \1 X% M- l5 j" ]8 [; D
非数值算法:用于对非数值信息进行查找、排序等。* t1 @8 h8 T6 ~7 G( N) X8 {
2.算法的特征
; ?4 t. {, q* R+ k (1)确定性:指算法的每个步骤都应确切无误,没有歧义。
4 e$ X2 {' U3 N (2)可行性:指算法的每个步骤必须是计算机能够有效执行、可以实现的,并可得到确定的结果。
* F2 s# @8 l0 [: R0 R) t- k (3)有穷性:指一个算法应该在有限的时间和步骤内可以执行完毕的。
7 Q3 s* Z( Z1 X: p0 a" b- { (4)输入性:指一个算法可以有0或多个输入数据。/ U# i5 E+ V1 ]5 Y2 h& r
(5)输出性:指一个算法必须有一个或多个输出结果。
; b5 y$ Q. k9 `4 K1 Y. i 3.算法的评价
6 I8 g( C0 Z. E: R0 [ 主要评价指标是:算法是否正确、运行的效率、占用系统资源的多少。
1 s# N/ p0 t2 X0 d1 k0 R 4.算法的描述
5 {$ S) Y4 B h/ b7 @$ v: q* b" N1 z, | 一般常用流程框图来描述算法。& F/ ~- `: V [2 A2 C- t# K* v- W
5.基本算法结构1 b" ?+ @6 t0 e8 q) L, A/ J/ F+ O
“结构化程序设计方法”规定算法有三种基本结构: 顺序结构、选择结构和循环结构
0 ^3 ]" l P7 _" f$ n 6.算法示例% `* p, Z5 t9 X% t V; T
(1)欧几里德算法——求两个自然数的最大公约数
/ ~2 d `4 `7 w6 M q" L3 y9 c9 [ (2)顺序查找算法—— 在N个字符串集合中,查找有无特定的字符串存在。 |