4.1 算法概论 1.算法的概念0 l: F+ u+ v) o: _* h
算法:指用计算机解决某一问题的方法和步骤。3 e' X, f3 Q: I3 p) {& c
算法分类: 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。% T! C1 k* g# Y% e9 V. x' ~" y
非数值算法:用于对非数值信息进行查找、排序等。
! s- z9 ^' w! u+ j8 K8 m4 Q 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。/ l, e+ K a: e* ~
非数值算法:用于对非数值信息进行查找、排序等。
7 @* M" i6 F9 X5 \9 z$ H 2.算法的特征7 O9 e: h! k4 A6 \; D5 e
(1)确定性:指算法的每个步骤都应确切无误,没有歧义。5 ^. g! H: V T1 H3 H
(2)可行性:指算法的每个步骤必须是计算机能够有效执行、可以实现的,并可得到确定的结果。
2 d' H- D1 Q6 f- \/ P, E (3)有穷性:指一个算法应该在有限的时间和步骤内可以执行完毕的。
6 f" i) m i$ }& a& r3 o: q( b (4)输入性:指一个算法可以有0或多个输入数据。
4 N" n. _4 u, A' n0 f. e (5)输出性:指一个算法必须有一个或多个输出结果。
+ W0 Y! k- ?0 ^# i 3.算法的评价
3 @/ H4 B7 ]2 M" Y5 q9 l; r 主要评价指标是:算法是否正确、运行的效率、占用系统资源的多少。
& N u: e0 O- h/ @ 4.算法的描述2 q, u; F8 O, G4 S: f
一般常用流程框图来描述算法。5 R3 o" h# @7 `" ~1 l
5.基本算法结构( d/ q& n, ?; x& A# Q; K% n# m
“结构化程序设计方法”规定算法有三种基本结构: 顺序结构、选择结构和循环结构
# F7 t5 K- L4 O1 e7 T" L, T 6.算法示例5 x( [# p, [: J
(1)欧几里德算法——求两个自然数的最大公约数5 c& X1 M) `9 [6 e9 z
(2)顺序查找算法—— 在N个字符串集合中,查找有无特定的字符串存在 |