数据结构63857.ppt

  1. 1、本文档共812页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数 据 结 构 制 作:计算机科学与技术系〈数据结构〉课程组 教 材:新世纪高职高专实用规划教材 出版社:清华大学出版社 目录 第01章 数据结构概论 第02章 线性表 第03章 栈 第04章 队列 第05章 串 第06章 数组、特殊矩阵和广义表 第07章 树和二叉树 第08章 图 第09章 查找 第10章 排序 数据结构的研究意义 解决非数值计算问题,关键已不再是数学分析和计算方法,而是要设计出合适的数据结构。如:图书信息检索、人机对弈问题、城市通信布线等。 若仅掌握几种计算机语言和程序设计方法而缺乏数据结构知识,则难以应付众多复杂课题,且不能有效的利用计算机。 程序 = 算法 + 数据结构 数据结构的研究内容 数据结构是一门研究非数值计算的程序设计问题中计算机操作对象以及它们之间关系和操作的一门学科。 1968年美国的克努特教授开创了数据结构的最初体系。数据结构是一门综合性的专业课程,是一门介于数学、计算机硬件、计算机软件之间的一门核心课程,是设计和实现编译系统、数据库系统及其他系统程序和大型应用程序的基础。 数据结构课程的任务 数据结构课程的内容体系: 抽象:从实际问题中抽象出逻辑结构。 实现:将逻辑结构用适当的物理结构在计算机内表示出来。 评价:对不同的数据结构进行比较和算法分析。 数据结构课程的任务就是将实际问题抽象成数据的逻辑结构,再将逻辑结构用适当的存储结构在计算机中表示出来,并实现基本运算,为编写程序及实现用计算机处理实际问题打下坚实的基础。 数据结构的基本概念和术语-1 数据是信息的载体,是对客观事物的符号表示,是所有能输入到计算机中并被计算机识别、存贮和处理的符号的集合,是计算机程序使用、加工的原料和输出的结果。 数据元素/数据项是数据的基本单位。 数据对象是具有相同性质的数据元素的集合。 字段/域是数据元素的详细描述。 数据结构的基本概念和术语-2 数据结构是指组成数据的元素之间的结构关系。 对于一种数据结构需要注意逻辑结构、物理结构和运算三个方面。 逻辑数据结构 在任何问题中,数据元素都不是孤立存在的,而是在他们之间存在某种关系,这种数据元素之间的逻辑关系称为抽象数据结构。 通常有下列几种基本结构: 线性结构:每个内结点有且仅有一个前趋结点和一个后继结点。最一般情形是线性表、字符串、栈和队列。 非线性结构:数据元素之间存在着一对多的关系。如树和图。 集合:集合结构中的所有元素同属于一个集合。 逻辑数据结构图例 线形结构 元素关系为“一对一” 树形结构 元素关系为“一对多” 图状结构 元素关系为“多对多” 集合结构 元素关系为“同属于“ 从数据结构的概念中可以知道,一个数据结构由两个要素组成:数据元素的集合和关系的集合。 数据结构的形式定义为:数据结构是一个二元组。 D.S=(D, R) D是数据元素的有限集; R是D上关系的有限集; 表示关系的基本单位是有序对(x,y) 或?x,y? linear=(D, R) D={1,2,3,4,5,6,7,8,9} R={1,2,2,3,3,4,4,5,5,6, 6,7, 7,8,8,9} 逻辑图为: tree=(D, R) D={a,b,c,d,e,f,g,h,i,j,k,l} R={(a,b),(a,c),(a,d),(b,e),(b,f),(b,g),(c,h),(c,i),(c,j),(d,k),(d,l)} 逻辑图为: 数据结构在计算机中的表示称为数据的物理结构,或存储结构。 它所研究的是数据结构在计算机中的实现方法,包括数据元素的表示和相互之间关系的表示。 数据元素之间的关系在计算机中有两种不同的表示方法: 顺序存储结构:把逻辑上相邻的元素存储在物理位置相邻的存储单元中 链式存储结构:逻辑上相邻的元素不要求其物理位置相邻,元素之间的关系通过附设的指针来表示 数据类型是一个值的集合和定义在这个值的集合上的一组操作的总称。如C语言中的整型变量,其值为某个区间上的整数,定义在其上的操作有加、减、乘、除等。 高级程序设计语言中的数据类型可以分为两类: 原子类型:值是不可再分解的,如:整型、字符型 结构类型:值是由若干成分按某种结构组成的,是可以再分解的,并且它的成分可以是非结构的,也可以是结构的,如:数组、结构 结构类型是若干个类型相同或不同数据项的集合。定义一个结构类型的一般形式为: Struct 结构类型名 { 数据类型 数据项1;数据类型 数据项2; ……数据类型 数据项n; } 结构变量的定义: 间接定义法:先定义结构类型,再定义结构变量 Struct 结构类型名 变量名; 直接定义法:在定义结构类型的同时,定义结构变量 Struct [结构类型名] { 数据类型 数据项1;数据类型 数据

文档评论(0)

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

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

1亿VIP精品文档

相关文档