[理学]数据结构动画版 演示2.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]数据结构动画版 演示2

是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科 数据(data)—所有能输入到计算机中去的描述客观事物的符号 数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的实现 数据类型—一组性质相同的值的集合, 以及定义于这个值集合上的一组操作的总称 算法(Algorithm) 1.事后统计——利用计算机内记时功能,用一组或 多组相同的统计数据区分 缺点:?必须先运行依据算法编制的程序 ?所得时间统计量依赖于硬件、软件等环 境因素,掩盖算法本身的优劣 算法复杂性高低体现在运行算法时所需计算机资源的多少,计算机资源最重要的是时间和空间资源,所以有算法时间复杂性和空间复杂性。 1。用什么量表示算法复杂性 2。对给定算法,怎样计算其算法复杂性 程序正确性的四个层面: (1)不含语法错误 (2)程序对于n组输入数据能够得出满足规格说明要求的结果。 (3)程序对于精心选择的典型、边界性的n组输入数据能得出满足规格说明要求的结果。 (4)程序对于一切合适的输入数据都能得出满足规格说明要求的结果(穷举)。 用计算机解决问题的步骤: 问题分析:这阶段的任务是弄清所要解的问题是什么; 并且把它用一种语言(自然语言、说明语言或数 学语言)清楚地描述出来。 算法设计:这阶段的任务是建立程序系统的结构,重点 是算法的设计和数据结构的设计。对于大型的复 杂的程序系统,这一阶段往往还包括模块的设计。 程序设计:采用适当的程序设计语言,编写出可执行的 程序。 程序测试和维护:发现和排除在前几个阶段中产生的错 误,经测试通过的程序便可投入运行,在运行过 程中还可能发现隐含的错误和问题,因此还必须 在使用中不断维护和完善。 Criteria: Definiteness: Each instruction is clear and unambiguous Finiteness: The algorithm terminates after finite number of steps Effectiveness: Every instruction must be basic enough to be carried out. It also must be feasible Input: There are zero or more quantities that are externally supplied Output: At least one quantity is produced ——用依据该算法编制的程序在计算机上执行所消耗的时间来度量 同一个算法用不同的语言、不同的编译程序、在不同的计算机上运行,效率均不同,———所以使用绝对时间单位衡量算法效率不合适 人们通常关心算法复杂性的量级,而不是具体函数 大O记法表示算法复杂性的上界(的量级) 基本操作重复执行的次数的阶数(算法耗用时间的增长率 ) 设n为问题的规模,f(n)为算法中频度最大的语句频度, 求解线索:把图中结点分组,使得有边相连的结点不同组,同组的行驶方向互不冲突,可同时行驶 问题:哪些结点可同组,共分为多少个组? 地图着色问题(一种模型): 图中结点看作国家,结点间连线看作两国边界。上述 问题就变成著名的“着色问题”:求可将图中所有国家 着色,使相邻国的颜色不同的最少颜色数。 由于从具体问题得到的图(可能)不是平面图,因此 需要的颜色数可能多于4。 一个显然解:每个方向独立作为一个组 进一步目标:分组最少(同时通行方向多,路通畅) 2,算法设计:前面讨论构造了求解模型。算法设计研究求解方法 解决本问题有许多方法: 常见算法: 穷举法:逐一检查所有可能组合,记录最小分组数和对应分组 试探法: 贪心法:一类典型算法,其宗旨是根据当时掌握的信息,尽 可能地向得到解的方向推进 方法1.逐一检查所有可能组合。记录最小分组数和对应分组。一定能找到一个“最优”解(分组数最少的解) 缺点:可能的组合个数太多,逐个枚举需要指数时间.这一方法的效率太低。如果不同方向的集合比较大,求解时间可能长得无法忍受 1968年,数据结构作为一门独立课程设立 美国唐。欧。克努特Knuth.D.E开创数据结构最初体系,所著《计算机程序设计技巧》The art of computer programming第一卷《基本算法》第一次系统阐述数据逻辑结构和存储结构 数据结构的两个发展方向:面向专门领域特殊问题的数据结构;从抽象数据类型的观点讨论数据结构 先修程序设计语言和离散数学 是编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础 数据结构依据视点的

文档评论(0)

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

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

1亿VIP精品文档

相关文档