- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环不变量方法—证明主要结构是循环结构的算法的正确性 循环不变量:数据或数据结构的关键性质 依赖于具体的算法和算法特点 初始 :循环开始前循环不变量成立 循环步骤:循环体每执行一次,循环不变量成立 终止 :算法结束后,循环不变量保证算法正确 循环不变量方法—实例 ? DB-LAB (2003) HITCSE 第一章 引 言 骆吉洲 计算机科学与工程系 1.1 Role of Algorithms in Computer Science 算法是计算机科学的主题 计算机科学体系与算法设计与分析的地位 算法设计与分析的意义 70年代前 计算机科学基础的主题没有被清楚地认清。 70年代 Knuth出版了《The Art of Computer Programming》 以算法研究为主线 确立了算法为计算机科学基础的重要主题 1974年获得图灵奖。 70年代后 算法作为计算机科学核心推动了计算机科学技术 飞速发展 算法是计算机科学基础的重要主题 解决一个计算问题的过程 计算机科学的体系 可计算否 能行可计算否 软件系统 用计算机语言实现算法 算法设计与分析 可计算理论 计算模型 可计算问题/不可计算问题 计算模型的等价性--图灵/Church命题 计算复杂性理论 在给定的计算模型下研究问题的复杂性 固有复杂性 上界 下界 平均 复杂性问题的分类: P=NP? 抽象复杂性研究 算法设计和分析 可计算问题的算法的设计与分析 设计算法的理论、方法和技术 分析算法的理论、方法和技术 计算机软件 系统软件 工具软件 应用软件 1.2 Concepts of Algorithms 算法的定义 问题的定义 算法的实例 定义1.2.1(计算) 可由一个给定计算模型机械地执行的规则或计算步骤序列称为该计算模型的一个计算 注意 一个计算机程序是一个计算(计算模型是计算机) 计算可能永远不停止——不是算法 算法的定义 ? DB-LAB (2003) 定义1.2.2 (算法) 算法是一个满足下列条件的计算: 有穷性/终止性:有限步内必须停止, 确定性:每一步都是严格定义和确定的动作, 能行性:每一个动作都能够被精确地机械执行, 输入:有一个满足给定约束条件的输入, 输出:满足给定约束条件的结果。 最早的算法是欧几里德的“求最大公因子算法” 直观地说,算法如下图所示: 算法的目的是求解问题。什么是问题? 定义1.2.3 (问题) 设Input和Output是两个集合。一个问题是一个关系R?Input?Output,Input称为问题R的输入集合,Input的每个元素称为R的一个输入,Output称为问题R的输出或结果集合,Output的每个元素称为R的一个结果。 注意 问题定义了输入和输出的关系。 问题的定义 例:SORT问题定义如下: 输入集合Input={a1,…,an|ai是整数} 输出集合Output={b1,…,bn|bi是整数, b1?….?bn} 问题SORT={(a1,…,an,b1,…,bn)|a1,…,an?Input, b1,…, bn?Output,{a1, …, an}={b1, …, bn}} 定义1.2.4(问题实例) 问题P的一个实例是P的一个二元组 注意 一个算法面向一个问题,而不是仅求解一个问题的一个或 几个实例 问题定义 Input=?a1,....,an ? ai是整数? output=?b1,....,bn ? bi是整数,且b1?...?bn? R=?(a1,...,an,b1,...,bn)?a1,...,an?Input, b1,...,bn?output,?a1,...,an?= ?b1,...,bn?} 算法的思想—扑克牌游戏 算法示例 A?1,......,n? = 5,2,4,6,1,3 A?1,......,n? = 5,2,4,6,1,3 A?1,......,n? = 2,5,4,6,1,3 A?1,......,n? = 2,4,5,6,1,3 A?1,......,n? = 2,4,5,6,1,3 A?1,......,n? = 1,2,4,5,6,3 A?1,......,n? = 1,2,3,4,5,6 算法描述 Insertion-sort(A) Input: A?1,.....,n?=n个数 output: A?1,.....,n?=n个sorted数 1. FOR j=2 To n Do 2. key?A?j?; 3. i?j-1 4. WHILE i0 AND A?i?key Do 5.
您可能关注的文档
最近下载
- 新能源汽车整车控制系统检测与维修高职PPT完整全套教学课件.pptx VIP
- 人教版一年级数学上册《比大小》课件(共38张PPT).pptx VIP
- 血管活性药物静脉输注护理---团体标准解读.pptx VIP
- 2025年全国质量月培训讲座PPT课件.pptx VIP
- 自考《文学概论》第五章-抒情作品教学课件.ppt VIP
- 北师大版九年级数学上册全册教案教学设计.pdf VIP
- 恶心与呕吐腹泻.ppt VIP
- 2025年中国学生床上用品数据监测研究报告.docx
- 1.1 地球的自转和公转 课件-2024-2025学年中图版初中地理八年级上册.pptx VIP
- EduSoho系统功能说明书v7.2(1231).doc VIP
文档评论(0)