- 1、本文档共368页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《算法与程序设计》全套PPT课件.pptx
算法与程序设计;第1章 简介;1.算法的基本特征
(1)可行性(Effectiveness)
可行性是指算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性),简单的说就是:按着这个算法,是可以得出结果的,这种方法是可行的。
(2)确定性(Definiteness)
算法的每一步都应确切地、无歧义地定义。对于每一种情况,需要执行的动作都应严格地、清晰地规定。
(3)有穷性(Finiteness)
算法的有穷性,是指算法必须能在有限的时间内完成。算法的有穷性还应包括合理的执行时间的含义。若一个算法需要执行千万年,显然失去了使用的价值。
一; 一个算法无论在什么情况下都应在执行有穷步后结束。
(4)拥有足够的情报(输入和输出)
一个算法执行的结果总是与输入的初始数据有关,不同的输入将会有不同的结果输出。但输入不够或输入错误时,算法本身也就无法执行或导致执行有错。
综上所述,所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止,而不是无休止地执行下去。
;2.算法的基本要素
一个算法通常由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
(1)算法中对数据的运算和操作
通常,计算机可执行的基本操作是以指令的形式描述的。在一般的计算机系统中,基本的运算和操作有以下四类。
1)算术运算:主要包括加、减、乘、除、取余等运算。
2)逻辑运算:主要包括“与”、“或”、“非”等运算。
3)关系运算:主要包括“大于”、“小于”、“大于等于”、“小于等于”、“等于”、“不等于”等运算。
4)数据传输:主要包括赋值、输入、输出等操作。
;(2)算法的控制结构
算法中各操作之间的执行顺序称为算法的控制结构,也叫控制流。结构化程序设计中常用的控制结构有顺序结构、选择结构和循环结构。一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
1)顺序结构
顺序结构就是按照书写顺序一条一条地从上到下执行语句??所有的语句都会被执行到,执行过的语句不会再次执行。
2)选择结构
选择结构就是根据条件来判断执行哪些语句,如果给定的条件成立,就执行相应的语句,如果不成立,就执行另外一些语句。
?3)循环结构
循环结构就是在达到指定条件前,重复执行某些语句,简单来说,就是对不同的操作对象执行相同的操作。 ; 所谓算法的描述就是指对问题的解决方案的准确而完整的描述。对于一个问题,如果可以通过一个计算机程序,在有限的存储空间内运行有限的时间,而得到正确的结果,则称这个问题是算法可解的。但算法不等于程序,也不等于计算方法。当然,程序也可以作为算法的一种描述,但程序通常还需要考虑很多与方法和分析无关的细节问题,这是因为在编写程序时要受到计算机系统运行环境的限制。通常,程序的编写不可能优于算法的设计。
描述算法的工具通常有自然语言、传统流程图、N-S结构化流程图、算法描述语言(如C语言)、伪代码和PAD图等。
;1.自然语言描述算法
自然语言就是我们日常使用的各种语言,可以是汉语、英语、日语等。
用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较直观、容易理解。缺点是如果算法中包含了选择结构和循环结构,并且操作步骤较多时,就显得不那么直观清晰了。
例如:求阶乘问题,如:1×2×3×4×5的值。
S1:使t=1
S2:使i=2
S3:使t×i,乘积仍然放在在变量t中,可表示为t×i - t
S4:使i的值+1,即 i+1 -i
S5:如果i≤5,返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。
如果计算100!只需将“S5:若i≤5”改成“i≤100”即可。
;1.1.2 算法的描述;1.1.2 算法的描述;1.1.2 算法的描述;1.1.2 算法的描述;1.1.2 算法的描述;1.1.2 算法的描述;1.1.2 算法的描述;1.1.3 算法设计的步骤;1.1.3 算法设计的步骤;1.1.4 算法的分类;1.1.4 算法的分类;1.2 算法的复杂度分析;1.2 算法的复杂度分析;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.1 时间复杂度;1.2.2 空间复杂度;1.2.2 空间复杂度;1.2.2 空间复杂度;1.2.3 算法设计实例;1.2.3 算法设计实
您可能关注的文档
最近下载
- 自然辩证法-考试题库.doc
- 妇产科会阴擦洗冲洗护理技术.pptx
- 工程安全应急与响应预案.docx VIP
- Roland罗兰乐器JUNO-Gi 带数字录音功能的便携合成器JUNO-Gi Workshop 04 Realtime Control in the JUNO-Gi支持文档.pdf
- 《压疮压力性损伤的预防和治疗临床实践指南》解读.docx VIP
- 无热吸附式干燥机.doc
- 超星网课《中国古典小说巅峰-四大名著鉴赏》超星尔雅答案2023章节测验答案.doc
- 颊针疗法(基础篇).pptx
- 班会育人-心理健康课件——家校社协同育人,共创美好未来.pptx
- 同桌小伙伴(教学设计)-2024-2025学年岭美版(2024)美术一年级上册.docx VIP
文档评论(0)