算法的基本概念算法描述语言算法设计的基本方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
返回
2.4 算法复杂度分析
算法的时间复杂度:执行算法所需要的计算工作量。 算法的空间复杂度:执行算法所需要的内存空间。
1.自然语言表示算法
自然语言就是人们日常使用的语言,可以是汉语、英语或其它语 言。 如求1×2×3×4×5 其算法描述如下: S1:使p=1 S2:使i=2 S3:使p×i,乘积仍放在变量p中,即p×i→p S4:使i的值加1,即i+1→i S5:如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5, 否则,算法结束 S6:输出p
i>5 Y结束来自3.N-S流程图表示算法
1973年美国学者I.Nassi和B.Shneiderman提出的一种新的流程图形 式。在这种流程图中,完全去掉了带箭头的流程线,全部算法写 在一个矩形框内。所采用的流程图符号为:
P
当 p 成立
A
成立
不成立
A
B
A
B
A 直到 p 成立
顺序结构
选择结构
循环结构
1→p
如 main() { int i,p; p=1; i=2; while(i<=5) { p=p*i;
i=i+1; } printf(“%d”,p); }
返回
2.3 算法设计基本方法
列举法:根据提出的问题,列举所有可能的情况,并用问题中给 定的条件检验哪些是需要的,哪些是不需要的。
归纳法:通过列举少量的特殊情况,经过分析,最后找出一般的 关系。
2.流程图表示算法
流程图是用一些图框表示各种操作。普遍采用的美国国家标准化 协会ANSI(American National Standard Institute)规定的一 些常用的流程图符号有:
起止框 输入输出框 判断框
处理框
或
流程线
连接点
注释框
常用流程图符号
开始
1→p
2→i
p×i→p
i+1→i N
递推法:从已知的初始条件出发,逐次推出所要求的各中间结果 和最后结果。
递归法:将问题逐层分解,当解决了最后那些最简单的问题后, 再沿着原来分解的逆过程逐步进行综合。
回朔法:通过对问题的分析,找出一个解决问题的线索;然后沿 着这个线索逐步试探。对于每一步试探,若试探成功,就得到问 题的解;若试探失败,就逐步回退,换别的路线再进行试探。
返回
2.1 算法的基本概念
算法是指解题方案的准确而完整的描述。
实际上,一个程序应包含4个方面的内容,即: 程序=算法+数据结构+程序设计方法+语言工具和环境
其中,算法是灵魂,数据结构是加工对象,语言是工具,编程需 要采用合适的方法。
计算机算法可分为两大类别:数值运算算法和非数值运算算法。
返回
2.2 算法描述语言
2→i p×i→p
i+1→i 直到 i>5
打印p
4.伪代码表示算法
伪代码是介于自然语言和计算机语言之间的文字和符号来描述算 法,每一行(或几行)表示一个基本操作。 如: BEGIN(算法开始)
1→p 2→i while i<=5 { p×i→p
i+1→i } print p END(算法结束)
5.计算机语言表示算法