- 1、本文档共132页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
世界是平衡的 我们希望选用一个所占存储空间小、运行时间短、其它性能也好的算法。然而,实际上很难做到十全十美。原因是上述要求有时相互抵触,要节约算法的执行时间往往要以牺牲更多的空间为代价,而为了节省空间可能耗费更多的计算时间。因此我们只能根据具体情况有所侧重。 若该程序使用次数较少,则力求算法简明易懂; 对于反复多次使用的程序,应尽可能选用快速的算法; 若待解决的问题数据量极大,机器的存储空间较小,则相应算法主要考虑如何节省空间。 关于空间复杂度的分析 例: 数组的转置 关于时间复杂度的分析 一个算法所耗费的时间,应该是该算法中每条语句的执行时间之和,而每条语句的执行时间是该语句的执行次数(也称为频度(Frequency Count))与该语句执行一次所需时间的乘积。 常数阶O(1) 对数阶O(1og2n) 线性阶O(n) 线性对数阶O(nlog2n) O(n2)、O(n3)、…、O(nk)、 指数阶O(2n)。 第一章 小结 基本内容 *数据和数据结构等名词和术语的确定含义 *抽象数据类型(ADT) *描述算法的类C语言 *从时间和空间角度分析算法的方法 学习要点 *熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系 *了解怎样以ADT的角度来描述数据结构 *熟悉类C语言的书写规范 *理解算法五要素 *掌握计算语句频度和估算算法时间复杂度的方法 第一章 小结 算法设计的基本步骤 明确需求 构造数学模型 设计算法 正确性验证 算法效率的分析 算法的实现 程序的测试与排错 编写文档资料 作业 ① 请在下次课前完成第1章自测卷全部内容4 复习C语言,重点是结构类型和递归概念 逻辑结构定义了数据的逻辑关系,物理结构是逻辑结构的具体实现。由于物理存储结构不同导致算法处理不同,但是仍然是实现逻辑结构中定义的内容。 讲述为什么。计算机处理和表示与人们自然理解和表述之间存在巨大差异。为缩小差距,易于理解、使用、构造,需要封装,这个过程就是抽象的过程。数据类型的抽象方法和表示以ADT来描述。 算法 == 程序 ? 算法是为了描述解决某一问题的方法,而不涉及具体的实现细节。 算法存在的辨证关系数据结构与算法的辨证关系 给定了数据的逻辑结构后,对同一逻辑结构而言,由于存储结构的不同,定义的运算也是不同的。 如线性表是一种逻辑结构,若采用顺序存储方法表示,则称为顺序表;若采用链式存储方法表示,则称为链表。 相同的运算在顺序表和链表上的实现方法是不同的。 ● 算法的概念 4、算法的描述和算法分析 算法(Algorithm)是对特定问题求解步骤的一种描述,是能在计算机上经过有限时间完成的、毫不含糊的指令的有限序列。其中每一条指令表示一个或多个操作。 问题(Problem)是一个函数,或是输入和输出的一种联系。程序(Program)是用计算机程序设计语言实现的完成一定功能的代码。 算法的实现一定是程序,但程序不一定是算法的实现。 4、算法的描述和算法分析 算法的五个重要特性 1)有穷性:执行有限步,每步均在有穷时间内完成。 2)确定性:对相同的输入,必产生相同的输出,即无二义性。 3)可行性:计算机可使用已实现的基本运算执行有限次来完成。 4)输入:零个或多个输入。 5)输出:一个或多个输出。 4、算法的描述和算法分析 关于算法性质的另一种描述 1、正确性(Correctness) 它必须完成所期望的功能,把每一次输入转化为正确的输出。 2、具体步骤(Concrete Steps) 一个算法应该由一系列具体步骤组成。 3、确定性(No Ambiguity) 下一步(通常是指算法描述中的下一步)应执行的步骤必须明确。 4、有限性(Finite) 一个算法必须由有限步组成。 5、可终止性(Terminable) 算法必须可以终止,即不能进入死循环。 ●算法的描述 4、算法的描述和算法分析 一个算法可以用各种不同的方法来进行描述。比如可使用某种高级语言、汇编语言甚至机器语言来描述某个算法,亦可使用伪码语言或框图等其它形式来描述它。 ●算法的描述 4、算法的描述和算法分析 描述算法的语言形式 1.文字形式:用中文或英文这样的文字来描述算法。 2.伪码形式:用一种仿程序设计语言的语言来描述算法。 3.程序设计语言形式:用某种程序设计语言描述算法。其优点是算法不用修改,直接作为程序语句键入计算机,计算机能调用和运行。这里我们采用上讲介绍的类C语言来描述算法 4、算法的描述和算法分析 例:设计一个把存储在数组中
您可能关注的文档
- 必威体育精装版《过程控制与自动化仪表(第版)》潘永湘高性能过程控制.ppt
- 必威体育精装版《过程设备》课程设计.doc
- 必威体育精装版《过小孤山大孤山》整理实用+-副本.ppt
- 必威体育精装版《海水“制碱”》.ppt
- 必威体育精装版《海洋底栖生物学》期末复习材料.doc
- 必威体育精装版《汉英语言对比》讲义.doc
- 《市场营销学》复习资料精品.doc
- 《市场营销学》教学模式改革精品.ppt
- 《市场营销学》开放本科期末综合练习及答案精品.doc
- 《市场营销学》考试重点汇总精品.doc
- 企业如何进行专利的价值评估试题及答案.docx
- 企业如何进行专利的危机管理试题及答案.docx
- 企业如何进行专利技术的评估试题及答案.docx
- 企业如何通过专利实现差异化竞争策略试题及答案.docx
- 企业如何通过专利实现价值增值试题及答案.docx
- 《智能建筑系统集成技术在大中型商业综合体智慧化转型中的应用与挑战》教学研究课题报告.docx
- 高中语文情境教学法在提升学生文学鉴赏能力中的实践研究教学研究课题报告.docx
- 音体美组教研活动计划.pptx
- 果园生产管理中的农业物联网技术优化与系统集成教学研究课题报告.docx
- 初中音乐教育中合唱艺术对学生情感表达与协作能力的塑造教学研究课题报告.docx
文档评论(0)