算法设计与分析第一章算法概述详解.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录;引 入 篇; 1.1 用计算机求解问题;1.1.1 用计算机求解问题的步骤; 1. 问题分析 准确、完整地理解和描述问题是解决问题的第一步。要做到这一点,必须注意以下一些问题:在未经加工的原始表达中,所用的术语是否都明白其准确定义?题目提供了哪些信息?这些信息有什么用?题目要求得到什么结果?题目中作了哪些假定?是否有潜在的信息?判定求解结果所需要的中间结果有哪些?等等。针对每个具体的问题,必须认真审查问题描述,理解问题的真实要求。 ; 2、数学模型建立 用计算机解决实际问题必须有合适的数学模型,因为在现实问题面前,计算机是无能为力。 对一个实际问题建立数学模型,可以考虑这样两个基本问题:最适合于此问题的数学模型是什么?是否有已经解决了的类似问题可借鉴? 如果上述第二个问题的答复是肯定的,那么通过类似???问题的分析、比较和联想,可加速问题的解决。 ; 3、算法设计与选择 算法设计是指设计求解某一特定类型问题的一系列步骤,并且这些步骤是可以通过计算机的基本操作来实现的。 算法设计要同时结合数据结构的设计,简单说数据结构的设计就是选取存储方式。算法的设计与模型的选择更是密切相关的,但同一模型仍然可以有不同的算法,而且它们的有效性可能有相当大的差距。; 4、算法分析 算法分析的目的,首先为了对算法的某些特定输入,估算该算法所需的内存空间和运行时间;其次是为了建立衡量算法优劣的标准,用以比较同一类问题的不同算法。通常将时间和空间的增长率作为衡量的标准。另参见1.1.4算法及其设计的评价; 5、算法表示 对于复杂的问题,确定算法后可以通过图形准确表示算法。算法的表示方式很多如:算法流程图、盒图、PAD图和伪码(类似于程序设计语言)等。 ; 6、算法实现 根据选用的程序设计语言,要解决下列一些问题:有哪些变量,它们是什么类型?需要多少数组,规模有多大?用什么结构来组织数据?需要哪些子算法?等等。 算法的实现方式,对运算速度和所需内存容量都有很大影响。; 7、程序测试 算法测试的实质是对算法应完成任务的实验证实,同时确定算法的使用范围。测试方法一般有两种:白盒测试对算法的各个分支进行测试;黑盒测试检验对给定的输入是否有指定输出。 如何选择算法测试中的输入,还没有一般答案。通常采用的方法是,对输入数据做有代表性的采样,使之对被测试算法的各个语句、分支和路径尽可能都被检查到。对输入集中的边界点也要进行测试。经测试验证是否正确的算法,在较大程度上是可以相信它的正确性。; 8、结果整理文档编制   编制文档的目的是让人了解你编写的算法。首先要把代码编写清楚。代码本身就是文档。同时还要采用注释的方式,另外还包括算法的流程图,自顶向下各研制阶段的有关记录,算法的正确性证明(或论述),算法测试结果,对输入/输出的要求及格式的详细描述等。;1.1.2 算法及其要素和特性 ; 机械步骤是指,算法中有待执行的运算和操作,必须是相当基本的。换言之,它们都是能够精确地运行的算法,执行者甚至不需要掌握算法的含义,即可根据该算法的每一步骤要求,进行操作并最终得出正确的结果。;2.算法的要素 算法由操作、控制结构、数据结构三要素组成。 1)操作 算术运算:加、减、乘、除 关系比较:大于、小于、等于、不等于 逻辑运算:与、或、非 数据传送:输入、输出, 赋值 ;2)控制结构 —— 各操作之间的执行次序。 顺序结构:各操作依次执行 选择结构:由条件是否成立来选择 执行 循环结构:有些操作要重复执行,直到功能满足某个条件时结束。又称重复或迭代结构。 ; 3)数据结构 算法操作的对象是数据,数据间的逻辑关系、数据的存储方式及处理方式就是数据的数据结构。它与算法设计是紧密相关的。 ; 在算法的表示中要满足以下的性质: 目的性 算法有明确的目的,能完成赋予它的功能 分步性 算法为完成其复杂的功能,由一系列计算机可执 行的步骤组成 有序性 算法的步骤是有序的,不可随意改变算法步骤的 执行顺序 有限性 算法是有限的指令序列,所包含步骤也是有限的 操作性 算法是有限的指令序列,算法所包含的步骤是有 限的 ;4. 算法的地位 ;5. 算法的基本特征 ;可行性 算法中描述的操作都可以通过已经实现的基本操作运算有限次实现。 算法有零个或多个的输入 有些输入量需要在算法执行过程中输入,而有的算法表面上可以没有输入,实际上已被嵌入算法之中。 算法有一个或多个的输出

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档