文档介绍:§1 算法初步
秦九韶算法是一种将一元n次多项式的求值问题转化为n个一次式的算法。
一般地,一元n次多项式的求值需要经过[n(n+1)]/2次乘法和n次加法,而秦九韶算法只需要n次乘法和n次加法。
对于一个n次多项式,至多做n次乘法和n次加法
表达式如下:
例题:秦九韶算法计算多项式
答案: 6 , 6
u 理解算法的含义:一般而言,对于一类问题的机械的、统一的求解方法称为算法,其意义具有广泛的含义,如:广播操图解是广播操的算法,歌谱是一首歌的算法,空调说明书是空调使用的算法(algorithm)
1. 描述算法有三种方式:自然语言,流程图,程序设计语言(本书指伪代码).
2. 算法的特征:
①有限性:算法执行的步骤总是有限的,不能无休止的进行下去
②确定性:算法的每一步操作内容和顺序必须含义确切,而且必须有输出,输出可以是一个或多个。没有输出的算法是无意义的。
③可行性:算法的每一步都必须是可执行的,即每一步都可以通过手工或者机器在一定时间内可以完成,在时间上有一个合理的限度
3. 算法含有两大要素:①操作:算术运算,逻辑运算,函数运算,关系运算等②控制结构:顺序结构,选择结构,循环结构。
v 流程图:(flow chart): 是用一些规定的图形、连线及简单的文字说明表示算法及程序结构的一种图形程序,它直观、清晰、易懂,便于检查及修改。
注意:
1. 画流程图的时候一定要清晰,用铅笔和直尺画,要养成有开始和结束的好习惯。
2. 拿不准的时候可以先根据结构特点画出大致的流程,反过来再检查,比如:遇到判断框时,往往临界的范围或者条件不好确定,就先给出一个临界条件,画好大致流程,然后检查这个条件是否正确,再考虑是否取等号的问题,这时候也就可以有几种书写方法了。
3. 在输出结果时,如果有多个输出,一定要用流程线把所有的输出总结到一起,一起终结到结束框。
w算法结构:
直到型循环当型循环
Y N
N
p
A
N
Y
A
p
Y N
A
B
p
A
B
顺序结构, 选择结构, 循环结构
Ⅰ.顺序结构(sequence structure ):是一种最简单最基本的结构它不存在条件判断、控制转移和重复执行的操作,一个顺序结构的各部分是按照语句出现的先后顺序执行的。
Ⅱ.选择结构(selection structure ):或者称为分支结构。其中的判断框,书写时主要是注意临界条件的确定。它有一个入口,两个出口,执行时只能执行一个语句,不能同时执行,其中的A,B两语句可以有一个为空,既不执行任何操作,只是表明在某条件成立时,执行某语句,至于不成立时,不执行该语句,也不执行其它语句。
Ⅲ.循环结构(cycle structure):它用来解决现实生活中的重复操作问题,分直到型(until)和当型(while)两种结构(见上图)。当事先不知道是否至少执行一次循环体时(即不知道循环次数时)用当型循环。
x基本算法语句:本书中指的是伪代码(pseudo code),且是使用 BASIC语言编写的,是介自然语言和机器语言之间的文字和符号,是表达算法的简单而实用的好方法。伪代码没有统一的格式,只要书写清楚,易于理解即可,但也要注意符号要相对统一,避免引起混