数据结构第一章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构第一章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 第一章 课件
- 资源描述:
-
1、数据的逻辑结构数据的逻辑结构数据的物理结构(存储结构)数据的物理结构(存储结构)数据的运算数据的运算 数据数据 :在计算机科学中其含义是指所有能够输入到计:在计算机科学中其含义是指所有能够输入到计算机中并被计算机程序处理的符号集合。算机中并被计算机程序处理的符号集合。数据元素数据元素 :是数据集合中的一个实体,是计算机程序中加工处理是数据集合中的一个实体,是计算机程序中加工处理的基本单位。的基本单位。数据元素按其组成可分为简单型数据元素和复杂型数数据元素按其组成可分为简单型数据元素和复杂型数据元素。简单型数据元素由一个数据项组成,所谓数据项据元素。简单型数据元素由一个数据项组成,所谓数据项就是
2、数据中不可再分割的最小单位;复杂型数据元素由多就是数据中不可再分割的最小单位;复杂型数据元素由多个数据项组成,它通常携带着一个概念的多方面信息。个数据项组成,它通常携带着一个概念的多方面信息。数据结构数据结构 :带结构的数据元素的集合带结构的数据元素的集合 简单地说,就是相互之间存在一种或多种特定关系的简单地说,就是相互之间存在一种或多种特定关系的数据元素的集合。数据元素的集合。逻辑结构逻辑结构:用数学语言描述数据之间的相互关系。:用数学语言描述数据之间的相互关系。与数据如何存储无关,通常分为四类基本结构:与数据如何存储无关,通常分为四类基本结构:一、集合一、集合 结构中的数据元素除了同属于一
3、种类型结构中的数据元素除了同属于一种类型外,别无其它关系。外,别无其它关系。二、线性结构二、线性结构 结构中的数据元素之间存在一对一结构中的数据元素之间存在一对一的关系。的关系。三、树型结构三、树型结构 结构中的数据元素之间存在一对多结构中的数据元素之间存在一对多的关系。的关系。四四、图状结构或网状结构图状结构或网状结构 结构中的数据元素之间结构中的数据元素之间存在多对多的关系。存在多对多的关系。数据的数据的逻辑结构逻辑结构形式上可以用二元组表示形式上可以用二元组表示:Data-Structure=(D,S)其中:其中:D是数据元素的有限集,是数据元素的有限集,S是是D上关系的有限集。上关系的
4、有限集。例例 复数的数据结构定义如下:复数的数据结构定义如下:Complex=(C,R)其中:其中:C是含两个实数的集合是含两个实数的集合C1,C2,分别表示分别表示复数的实部和虚部。复数的实部和虚部。R=P,P是定义在集合上的一种关是定义在集合上的一种关系系C1,C2,其中有序偶其中有序偶表示表示C1是复数的是复数的实部,实部,C2 是复数的虚部。是复数的虚部。数据结构的举例数据结构的举例“应用举例应用举例1学籍档案管理学籍档案管理 假设一个学籍档案管理系统应包假设一个学籍档案管理系统应包含如下表含如下表1-1所示的学生信息。所示的学生信息。学 号 姓 名 性别 籍 贯 出生年月 1 981
5、31 刘激扬 男 北 京 1979.12 2 98164 衣春生 男 青 岛 1979.07 3 98165 卢声凯 男 天 津 1981.02 4 98182 袁秋慧 女 广 州 1980.10 5 98203 林德康 男 上 海 1980.05 6 98224 洪 伟 男 太 原 1981.01 7 98236 熊南燕 女 苏 州 1980.03 8 98297 宫 力 男 北 京 1981.01 9 98310 蔡晓莉 女 昆 明 1981.02 10 98318 陈 健 男 杭 州 1979.12表表1-11-1所示的学生信息所示的学生信息 特点:特点:l每个学生的信息占据一行,所有学
6、生的信息按学号顺序依次排列构成一张表格;2表中每个学生的信息依据学号的大小存在着一种前后关系,这就是我们所说的线性结构;3 对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。应用举例应用举例2输出输出n个对象的全排列个对象的全排列 输出输出n个对象的全排列可个对象的全排列可以使用下图所示的形式描述。以使用下图所示的形式描述。31213212312321231213211 特点:特点:l在求解过程中,所处理的数据之间具在求解过程中,所处理的数据之间具有层次关系,这是我们所说的树形结构;有层次关系,这是我们所说的树形结构;2对它的操作有:建立
7、树形结构,输出对它的操作有:建立树形结构,输出最低层结点内容等等。最低层结点内容等等。应用举例应用举例3制定教学计划制定教学计划 在制定教学计划时,需要考虑各门在制定教学计划时,需要考虑各门课程的开设顺序。有些课程需要先导课课程的开设顺序。有些课程需要先导课程,有些课程则不需要,而有些课程又程,有些课程则不需要,而有些课程又是其他课程的先导课程。比如,计算机是其他课程的先导课程。比如,计算机专业课程的开设情况如下表所示:专业课程的开设情况如下表所示:计 算 机 专 业 学 生 的 必 修 课 程课 程 编 号课 程 名 称需 要 的 先 导 课 程编 号C1程 序 设 计 基 础无C2离 散
8、数 学C1C3数 据 结 构C1,C2C4汇 编 语 言C1C5算 法 分 析 与 设 计C3,C4C6计 算 机 组 成 原 理C11C7编 译 原 理C5,C3C8操 作 系 统C3,C6C9高 等 数 学无C10线 性 代 数C9C11普 通 物 理C9C12数 值 分 析C9,C10,C1c1c9c4c2c12c10c11c5c3c6c7c8特点特点 l l、课程之间的先后关系用图结构、课程之间的先后关系用图结构描述;描述;2 2、通过实施创建图结构,按要求、通过实施创建图结构,按要求将图结构中的顶点进行线性排序。将图结构中的顶点进行线性排序。常见的存储结构常见的存储结构 顺序存储结构
9、顺序存储结构 链式存储结构链式存储结构 索引存储结构索引存储结构 散列存储结构散列存储结构物理结构(存储结构):物理结构(存储结构):现在现在抽象数据类型的表示与抽象数据类型的表示与实现实现 数据类型数据类型 在一种程序设计语言中,变量、表达式、常量都具有在一种程序设计语言中,变量、表达式、常量都具有数据类型。通过运算它的值域一定在这个范围之内。数据类型。通过运算它的值域一定在这个范围之内。例例 1 1 在在FORTRANFORTRAN语言中:语言中:变量的数据类型有整型、实型、和复数型变量的数据类型有整型、实型、和复数型 例例2 2 在在C C语言中:语言中:数据类型:基本类型和构造类型数据
10、类型:基本类型和构造类型基本类型:整型、浮点型、字符型基本类型:整型、浮点型、字符型构造类型:数组、结构、联合、指针、枚举型、自定义构造类型:数组、结构、联合、指针、枚举型、自定义 数据对象数据对象 某种数据类型元素的集合。某种数据类型元素的集合。例:整数的数据对象是例:整数的数据对象是-3-3,-2-2,-1-1,0 0,1 1,2 2,3 3,英文字符类型的数据对象是英文字符类型的数据对象是AA,B B,C C,D D,E E,F F,抽象数据类型:抽象数据类型:一个数学模型以及定义在该一个数学模型以及定义在该 模型上的一组操模型上的一组操作。作。抽象数据类型实际上就是对该数据结构的定义。
11、抽象数据类型实际上就是对该数据结构的定义。因为它定义了一个数据的逻辑结构以及在此结构上因为它定义了一个数据的逻辑结构以及在此结构上的一组算法。的一组算法。用三元组描述如下:用三元组描述如下:(,)分别是数据对象,关系集、基(,)分别是数据对象,关系集、基本操作集本操作集 由于数据结构和操作是分不开的,所以今后我由于数据结构和操作是分不开的,所以今后我们就在们就在抽象数据类型抽象数据类型的角度来研究数据结构。的角度来研究数据结构。抽象数据类型:抽象数据类型:指一个数学模型以及定义在该模型上的一组操作。指一个数学模型以及定义在该模型上的一组操作。抽象数据类型格式:抽象数据类型格式:ADT 抽象数据
12、类型名抽象数据类型名 数据对象:数据对象:数据关系:数据关系:基本操作:基本操作:ADT 抽象数据类型名抽象数据类型名 1.预定义常量及类型(预定义常量及类型(P12)#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -1 数据元素被约定为数据元素被约定为ElemType 类型,用户需要根据类型,用户需要根据具体情况,在使用时自行定义该数据类型。具体情况,在使用时自行定义该数据类型。2.算法描述为以下的函数形式:算法描述为以下的函数形式:函数类型函数类型 函数名(函数参数表)函数名(函数参数表)语句
13、序列;语句序列;为了简化函数的书写,提高算法描述的清晰度,我们为了简化函数的书写,提高算法描述的清晰度,我们规定除函数参数表中的参数需要说明数据类型外,规定除函数参数表中的参数需要说明数据类型外,函数函数中使用的局部变量可以不做变量说明中使用的局部变量可以不做变量说明,必要时给出相应,必要时给出相应的注释即可。另外,在书写算法时,应该养成对重点语的注释即可。另外,在书写算法时,应该养成对重点语句段落句段落添加注解添加注解的良好习惯。的良好习惯。3.在算法描述中可以使用的赋值语句形式有:在算法描述中可以使用的赋值语句形式有:简单赋值简单赋值 变量名变量名=表达式;表达式;串联赋值串联赋值 变量名
14、变量名1=变量名变量名2=.=变量名变量名n=表表达式;达式;成组赋值成组赋值(变量名(变量名1,.,变量名,变量名n)=(表达式表达式1,.,表达式,表达式n););结构赋值结构赋值 结构名结构名1=结构名结构名2;结构名结构名=(值(值1,值,值2,.,值,值n););条件赋值条件赋值 变量名变量名=条件表达式条件表达式?表达式表达式1:表达:表达式式2;交换赋值交换赋值 变量名变量名1 变量名变量名2;4.在算法描述中可以使用的选择结构语句形式有:在算法描述中可以使用的选择结构语句形式有:条件语句条件语句1 if(表达式)表达式)语句;语句;条件语句条件语句2 if(表达式)表达式)语句
15、;语句;else 语句;语句;开关语句开关语句1 switch(表达式)表达式)case 值值1:语句序列:语句序列1;break;case 值值2:语句序列:语句序列2;break;.case 值值n:语句序列语句序列n;break;default:语句序列语句序列n+1;开关语句开关语句2 switch case 条件条件1:语句序列:语句序列1;break;case 条件条件2:语句序列:语句序列2;break;.case 条件条件n:语句序列语句序列n;break;default:语句序列语句序列n+1;5.在算法描述中可以使用的循环结构语句形式有:在算法描述中可以使用的循环结构语句形
16、式有:for循环语句循环语句 for(表达式表达式1;循环条件表达式;循环条件表达式;表达式表达式2)语句;语句;while循环语句循环语句 while(循环条件表达式)循环条件表达式)语句;语句;do-while循环语句循环语句 do 语句序列;语句序列;while(循环条件表达式);循环条件表达式);6.在描述算法中可以使用的结束语句形式有:在描述算法中可以使用的结束语句形式有:函数结束语句函数结束语句 return 表达式;表达式;return;case或循环结束语句或循环结束语句 break;异常结束语句异常结束语句 exit(异常代码);异常代码);7.在算法描述中可以使用的输入输出
展开阅读全文