数据结构课程教程第一章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构课程教程第一章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程 教程 第一章 课件
- 资源描述:
-
1、1.1 数据结构讨论的数据结构讨论的范畴范畴1.2 基本概念基本概念1.3 算法和算法的量度算法和算法的量度1.11.1 数据结构讨论的范畴数据结构讨论的范畴(数据结构在软件开发中的地位)系统分析系统分析系统设计系统设计系统实现系统实现系统维护系统维护 结构静力分析计算结构静力分析计算 例如例如:数值计算的程序设计问题数值计算的程序设计问题 线性代数方程组线性代数方程组 环流模式方程环流模式方程 (球面坐标系球面坐标系)全球天气预报全球天气预报 这些可以建模为数学方程(组)的这些可以建模为数学方程(组)的问题的计算方法是问题的计算方法是数值计算数值计算研研究的内容。究的内容。例例1-1 1-1
2、 书目检索自动化问题书目检索自动化问题登录号:书名:作者名:分类号:出版单位:出版时间:价格:书目卡片001高等数学樊映川S01002理论力学罗远祥L01003高等数学华罗庚S01004线性代数栾汝书S02书目文件按书名按作者名按分类号高等数学001,003理论力学002,.线性代数004,.樊映川001,华罗庚002,.栾汝书004,.L002,S001,003,索引表线性表 计算机处理的对象之间存在着线性关系,称为线计算机处理的对象之间存在着线性关系,称为线性的数据结构。性的数据结构。例例1-2 1-2 人机对奕问题人机对奕问题树.CEDABABACADBABCBDDADBDCEAEBEC
3、ED图例例1-3 1-3 多岔路口交通灯的管理问题多岔路口交通灯的管理问题概括地说:概括地说:数据结构是一门研究非数值数据结构是一门研究非数值计算的程序设计问题中的计算的程序设计问题中的操操作对象作对象以及它们之间以及它们之间关系和关系和操作操作等的学科等的学科.1.2 基本概念基本概念一、数据与数据结构一、数据与数据结构二、数据类型二、数据类型三、抽象数据类型三、抽象数据类型一、数据与数据结构一、数据与数据结构 所有能所有能被输入被输入到计算机中,且能被计算到计算机中,且能被计算机机处理的符号处理的符号(数值、字符等数值、字符等)的集合。的集合。数据数据:是计算机操作的对象计算机操作的对象的
4、总称。是计算机处理的是计算机处理的信息的信息的某种特定的符某种特定的符号号表示形式表示形式。是数据(集合)中的一个是数据(集合)中的一个“个个体体”,在计算机中通常作为一个整在计算机中通常作为一个整体进行考虑和处理。是数据结构中体进行考虑和处理。是数据结构中讨论的讨论的基本基本单位。单位。数据元素数据元素:如如:整数整数“5 5”,”,字符字符“N N”等。等。-是不可分割的是不可分割的“原子原子”其中每个项称为一个其中每个项称为一个“数据项数据项”它是数据结构中讨论的它是数据结构中讨论的最小最小单位单位数据元素也可以由若干项构成。数据元素也可以由若干项构成。例如:例如:描述一个学生的数据元素
5、描述一个学生的数据元素称之为组合项称之为组合项年年 月月 日日姓姓 名学名学 号班号班 号性别出生日期入学成绩号性别出生日期入学成绩原子项原子项数据结构:数据结构:带带结构结构的数据元素的集合的数据元素的集合有一个特性相同的数据元素的集合,有一个特性相同的数据元素的集合,如果在数据元素之间存在一种或多种如果在数据元素之间存在一种或多种特定的关系,则称为一个数据结构。特定的关系,则称为一个数据结构。指的是数据元素之间存在的关系指的是数据元素之间存在的关系例,在例,在 2 行行 3 列的二维数组列的二维数组中六个元素中六个元素a1,a2,a3,a4,a5,a6之间存在两个关系之间存在两个关系:行的
6、次序关系行的次序关系:row=,col=,a1 a2 a3 a4 a5 a6列的次序关系列的次序关系:若在若在 6 个数据元素个数据元素a1,a2,a3,a4,a5,a6 之间存在如下的之间存在如下的次序关系次序关系:|i=1,2,3,4,5 数据结构是数据结构是相互之间存在着某种逻辑相互之间存在着某种逻辑关系的数据元素的集合关系的数据元素的集合。可见,不同的可见,不同的“关系关系”构成不同的构成不同的“结构结构”则构成一维数组的定义。则构成一维数组的定义。从从关系关系或或结构结构分分,数据结构,数据结构可归结可归结为以下为以下四类四类:(各关系可以用(各关系可以用次序次序关系加以描述)。关系
7、加以描述)。线性线性结构结构树形树形结构结构图状图状结构结构集合集合结构结构数据结构的形式定义:数据结构是一个二元组数据结构的形式定义:数据结构是一个二元组 Data_Structure=(D,S)其中,其中,D 是数据元素的有限集是数据元素的有限集,S 是是D上关系的有限集上关系的有限集例例1-4 复数复数 Complex=(C,R)例例1-5 课题小组课题小组 Group=(P,R)P=T,G1,Gn,S11,Snm1n3,1m2,R=R1,R2R1=|1in,1n3,R2=|1in,1jm,1m2,1.2 基本概念和术语位:在计算机中表示信息的最小单位,二进制数的一位位:在计算机中表示信
8、息的最小单位,二进制数的一位位串:由若干个位组合,表示一个数据元素。(以后称位串:由若干个位组合,表示一个数据元素。(以后称“元素元素”或或“结点结点”)例:整数用一个字长(例:整数用一个字长(1616位)位)表示,字符用表示,字符用8 8位表示位表示子位串:表示一个数据项。(以后称子位串:表示一个数据项。(以后称“数据域数据域”)q数据的逻辑结构数据的逻辑结构只抽象反映数据元素的逻辑关系只抽象反映数据元素的逻辑关系q数据的存储(物理)结构数据的存储(物理)结构数据的逻辑结构在计算机数据的逻辑结构在计算机存储器中的实现存储器中的实现1.2 基本概念和术语数据的逻辑结构与存储结构密切相关 算法设
9、计 取决于选定的逻辑结构 算法实现 依赖于采用的存储结构存储结构分为:顺序存储结构借助元素在存储器中的相对位置来表示 数据元素间的逻辑关系链式存储结构借助指示元素存储地址的指针表示数据 元素间的逻辑关系3数据的两种存储结构数据的两种存储结构元素n.元素i.元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储地址存储内容存储内容Loc(元素元素i)=Loc+(i-1)*m顺序存储顺序存储1536元素21400元素11346元素3 元素41345h存储地址 存储内容 指针 1345 元素1 1400 1346 元素4 .1400 元素2 1536 .1536 元素3 134
10、6 链式存储链式存储 h 数据的逻辑结构数据的逻辑结构 数据的存储结构数据的存储结构 数据的运算:检索、排序、插入、删除、修改等数据的运算:检索、排序、插入、删除、修改等 线性结构线性结构 非线性结构非线性结构 顺序存储顺序存储 链式存储链式存储 线性表线性表栈栈队队树形结构树形结构图形结构图形结构数据结构的三个方面:数据结构的三个方面:数据类型:是一个值的数据类型:是一个值的集合集合和定义在这和定义在这个值集上的所有个值集上的所有 的的操作操作。如,整型。如,整型。数据类型可分为:非结构的原子类型和数据类型可分为:非结构的原子类型和结构类型。结构类型。原子类型的值是不可分解的原子类型的值是不
11、可分解的结构类型的值是由若干成分按某种结结构类型的值是由若干成分按某种结构组成的。构组成的。4.数据类型 抽象数据类型 数据类型在高级语言中指数据的取值范围及其上可进行的操作的总称例例 C C语言中,提供语言中,提供intint,char,float,double,char,float,double等基等基本数据类型本数据类型,数组、结构体、共用体、枚举等,数组、结构体、共用体、枚举等构造数构造数据类型据类型,还有指针、空,还有指针、空(void)(void)类型等。用户也可用类型等。用户也可用typedeftypedef 自己定义数据类型自己定义数据类型typedef struct int
12、num;char name20;float score;STUDENT;STUDENT stu1,stu2,*p;数据类型可以看成是已经实现了的数据结构数据类型可以看成是已经实现了的数据结构。抽象数据类型:抽象数据类型:是指一个是指一个数学模型数学模型以及定义在该模以及定义在该模型上的型上的一组操作一组操作。抽象数据类型和数。抽象数据类型和数据类型实质上是一个据类型实质上是一个概念概念,它仅,它仅取决取决于数据类型于数据类型的逻辑性,而的逻辑性,而与其在计算与其在计算机内部如何表示和实现是无关机内部如何表示和实现是无关的。的。也就是说抽象数据类型的定义由一也就是说抽象数据类型的定义由一个个值域
13、值域和定义在该值域上的一组和定义在该值域上的一组操作操作组成。组成。按抽象数据类型值的不同特性,分为三按抽象数据类型值的不同特性,分为三种类型:种类型:原子类型原子类型:变量的值是不可分解的。变量的值是不可分解的。固定聚合类型固定聚合类型:变量的值由确定数目的变量的值由确定数目的成分按某种结构组成。成分按某种结构组成。可变聚合类型可变聚合类型:其值的成分数目不确定。其值的成分数目不确定。抽象数据类型的形式定义抽象数据类型的形式定义 我们用一个三元组我们用一个三元组来表示一个抽象数据类型:(来表示一个抽象数据类型:(D D,S S,P P)D D是数据对象,是数据对象,S S是是D D上的关系集
14、,上的关系集,P P是对是对D D的基本操作。的基本操作。ADT 抽象数据类型名抽象数据类型名数据对象:数据对象的定义数据对象:数据对象的定义数据关系:数据关系的定义数据关系:数据关系的定义基本操作:基本操作的定义基本操作:基本操作的定义ADT 抽象数据类型名。抽象数据类型名。数据基本操作的定义格式:数据基本操作的定义格式:基本操作名(参数表)基本操作名(参数表)初始条件:初始条件描述初始条件:初始条件描述操作结果:操作结果描述操作结果:操作结果描述抽象数据类型格式:抽象数据类型格式:P8-9P8-9例例1-6 1-6 抽象数据类型三元组的定义:抽象数据类型三元组的定义:ADT Triplet
展开阅读全文