数据结构与算法:ch1_绪论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.1 什么是数据结构 一、计算机处理对象的发展 数值计算问题与非数值计算问题 解决一个具体问题,计算机来实现需要经过以下几个步骤: 具体问题 抽象 数学模型 设计 算法求解 编写程序 进行测试、调整至最终解答 程序=数据结构+算法 非数值计算问题举例 例1: 书目自动检索系统 例2: 人机对弈问题 例3: 多叉路口交通灯管理问题 例4: 田径赛的时间安排问题 某校的田径选拔赛共设有六个项目的比赛,即跳高(A)、跳远(B)、标枪(C)、铅球(D)、100米(E)和200米(F)短跑,规定每个选手至多参加三个项目的比赛。现有五名选手报名参赛,选手所选的项目如表所示。现要求设计一个竞赛日程安排表,使得在尽可能短的时间内安排完比赛。 数据结构定义——是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。 二、数据结构的发展简史 1968年美国唐·欧·克努特教授所著的《计算机程序设计技巧》第一卷《基本算法》中较系统地阐述了数据的逻辑结构和存储结构及其操作。 三、数据结构在计算机科学中所处的地位 数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。 1.2 基本概念和术语 数据 (data)—所有能输入到计算机中去的描述客观事物的符号 数据元素 (data element)—数据的基本单位,也称节点(node)或记录(record) 数据项 (data item)—有独立含义的数据最小单位,也称域(field) 数据结构(data structure)—数据元素和数据元素关系的集合 数据的逻辑结构—只抽象反映数据元素的逻辑关系 数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的实现 数据类型—高级语言中指数据的取值范围及其上可进行的操作的总称 1. 3 数据类型和抽象数据类型 数据类型是一个“值”的集合和定义在此集合上的“一组操作”的总称。 程序中对变量或常量说明其所属类型的作用是,对它们加上两个约束条件:一是可取值的范围,二是可进行的操作。 抽象数据类型(Abstract Data Type 简称 ADT)是指一个数学模型以及定义在此数学模型上的一组操作。 抽象数据类型的形式描述为:    ADT = ( D,S,P )   其中:D 是数据对象,      S 是 D 上的关系集,      P 是 D 的基本操作集。 ADT 抽象数据类型名 {  数据对象: 数据对象的定义  数据关系: 数据关系的定义  基本操作: 基本操作的定义 } ADT 抽象数据类型名 例:抽象数据类型复数的定义 ADT Complex {  数据对象:D = {e1,e2 | e1,e2 RealSet }  数据关系:R1 = {e1,e2 | e1是复数的实部,e2是复数的虚部 }  基本操作:   InitComplex( Z, v1, v2 )    操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。   DestroyComplex( Z)    初始条件:复数已存在。    操作结果:复数Z被销毁。   GetReal( Z, realPart )    初始条件:复数已存在。    操作结果:用 realPart 返回复数Z的实部值。   GetImag( Z, ImagPart )    初始条件:复数已存在。    操作结果:用 ImagPart 返回复数Z的虚部值。   Add( z1,z2, sum )    初始条件:z1,z2 是复数。    操作结果:用sum返回两个复数z1,z2的和值。 } ADT Complex 常见的特殊约定 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -1 常见的特殊约定 赋值参数只为操作提供输入值; 引用参数以打头, 除可提供输入值外,还将返回操作结果。 成组赋值 (变量名1,...,变量名n)=(表达式 1 , ...,表达式n); 结构赋值 结构名1 = 结构名2; 结构名 =(值1,值2,...,值n); 条件赋值 变量名 = 条件表达式 ? 表达式1:表达式2; 交换赋值 变量名1 ? 变量名2; 1.4 算法和算法分析 一、算法 算法(Algorithm)—解决某一特定问题的具体步骤的一种描述,是指令的有限序列。 算法特性—(5个重要特性) 三、算法效率的度量 算法效率的度量——算法执行

文档评论(0)

学习让人进步 + 关注
实名认证
文档贡献者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档