【教学课件】第2章数据结构及应用概念及顺序表.ppt
《【教学课件】第2章数据结构及应用概念及顺序表.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2章数据结构及应用概念及顺序表.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下一页上一页停止放映第2章数据结构及应用概念及顺序表西安交通大学计教中心西安交通大学计教中心1 1下一页上一页停止放映思考问题数据结构要研究什么问题?什么是线性数据结构和线性表?如何描述线性表?线性表在计算机中如何存放?有几种存储形式?它们的特点是什么?如何处理线性数据结构中的数据?2 2下一页上一页停止放映数据结构问题的由来计算机求解问题的过程步骤:调试程序调试程序编制编制程序程序求解求解结果结果运行运行程序程序结果输出结果输出用户用户需求需求数据类型、格式、数据类型、格式、逻辑结构逻辑结构数据数据逻辑逻辑运算运算数据的物理数据的物理操作操作分析抽象分析抽象实际实际问题问题模型求解模型求解问
2、题问题模型模型命令命令编程编程求解求解算法算法3 3下一页上一页停止放映数据结构 数据结构是计算机的专业技术基础课。它研究的主要问题有:分析数据(计算机加工的对象)的特征 选择适当逻辑存储结构和物理存储结构 在存储结构的基础上实现对数据的操作4 4下一页上一页停止放映2.1 数据结构基本概念1数据(数据(data)数据是指能够输入到计算机中,并被计算机识数据是指能够输入到计算机中,并被计算机识别和处理的符号的集合别和处理的符号的集合。2数据元素(数据元素(data element)数数据据元元素素是是组组成成数数据据的的基基本本单单位位。数数据据元元素素是是一一个个数数据据整整体体中中相相对对
3、独独立立的的单单位位。但但它它还还可可以以分分割割成成若若干干个个具具有有不不同同属属性性的的项项(字字段段),故故不不是是组成数据的最小单位组成数据的最小单位5 5下一页上一页停止放映数据结构(data structure)是指相互之间存在一种或多种特定关系的数据元素所组成的集合。数据结构包含三个方面的内容,即数据的逻辑结构,数据的存贮结构和对数据所施加的运算。6 6下一页上一页停止放映数据的逻辑结构 它是描述数据间的顺序(逻辑)关它是描述数据间的顺序(逻辑)关系,只是抽象地反映数据元素的结系,只是抽象地反映数据元素的结构,而不管它们在计算机中如何存构,而不管它们在计算机中如何存放。一般用下
4、列二元组来描述:放。一般用下列二元组来描述:DS=DS=(D D,R R)其中:其中:D D:是数据元素的有限集合;:是数据元素的有限集合;R R:是数据元素之间关系的集合。:是数据元素之间关系的集合。与数据在计算机中的存放的物理位置无关7 7下一页上一页停止放映举例课题组由课题组由1 1名教师、名教师、1313名研究生、名研究生、1616名本名本科生组成;成员关系是:教师指导研究生、科生组成;成员关系是:教师指导研究生、研究生指导研究生指导1212名本科生。名本科生。定义定义DSDS如下:如下:Group=Group=(D D,R R)其中:其中:D=T,G1,,Gn,S11,Snm 1 n
5、 3,1 m 2R=R1,R2R1=|1 i n,1 n 3R2=|1in,1 j m,1 n 3,1 m 2 8 8下一页上一页停止放映数据的存储结构又称物理结构又称物理结构是是指指数数据据结结构构在在计计算算机机中中的的表表示示(又又称称映映象象),),即即数数据据在在计计算算机机中中的的存放。存放。数据库中的数据存放在计算机中的物理位置9 9下一页上一页停止放映逻辑结构和存储结构的关系v数据的数据的逻辑结构逻辑结构是从逻辑关系(某种顺序)上观是从逻辑关系(某种顺序)上观察数据,它是独立于计算机的;可以在理论上、察数据,它是独立于计算机的;可以在理论上、形式上进行研究、推理、运算等各种操作
6、。形式上进行研究、推理、运算等各种操作。v数据的数据的存储结构存储结构是逻辑结构在计算机中的实现,是逻辑结构在计算机中的实现,是依赖于计算机的;离开了机器,则无法进行任是依赖于计算机的;离开了机器,则无法进行任何操作。何操作。v任何一个任何一个算法的设计算法的设计取决于选定的逻辑结构;而取决于选定的逻辑结构;而算法的最终实现算法的最终实现依赖于采用的存储结构。依赖于采用的存储结构。1010下一页上一页停止放映数据存储结构分类v顺序存储结构顺序存储结构v链式存储结构链式存储结构v索引存储结构索引存储结构v散列存储结构散列存储结构 1111下一页上一页停止放映顺序存储结构 把数据元素按某种顺序存放
7、在一块连续的存储单元中的存储形式。数据结点结构:d1 d2 dn数据域数据域特点特点:连续存放连续存放;逻辑上相邻逻辑上相邻,物理上也相邻。物理上也相邻。结构简单,易实现。结构简单,易实现。插入、删除操作不便(需大量移动元素)。插入、删除操作不便(需大量移动元素)。1212下一页上一页停止放映链式存储结构 以链表形式将数据元素存放于任意存储单元中,可连续存放,也可以不连续存放,以指针实现链表间的联系。数据结点结构:d1.d2dn 数据域数据域 指针域指针域特点特点:非连续存放非连续存放,借助指针来表示元素间的关系借助指针来表示元素间的关系;插入、删除操作简单,只要修改指针即可;插入、删除操作简
8、单,只要修改指针即可;结构较复杂,需要额外存储空间。结构较复杂,需要额外存储空间。1313下一页上一页停止放映索引存储结构 数据按索引形式存放。存储时分为:数据项和索引数据按索引形式存放。存储时分为:数据项和索引号;通过索引表记录逻辑号(记录号)和物理号号;通过索引表记录逻辑号(记录号)和物理号(存储序号)之间的对应关系。(存储序号)之间的对应关系。数据结点结构数据结点结构:12 21 35 2 45 5 10 4 3 2 7 1 6 5 数据域数据域 索引顺序号索引顺序号特点:特点:非连续存放;非连续存放;检索速度快;检索速度快;增、删操作简单。增、删操作简单。序 号:1 2 3 4 5 6
9、 7 数据项:索引号:1414下一页上一页停止放映散列存储结构在数据元素与存储位置之间建立一种在数据元素与存储位置之间建立一种存储关系存储关系F F,根据这种关系,根据这种关系F F,已知元,已知元素素E E,就可以得到它的存储地址,即,就可以得到它的存储地址,即D=FD=F(E E)。)。哈希查找中的哈希表就是这样一种存哈希查找中的哈希表就是这样一种存储结构。储结构。特点:特点:数据元素间无内在联系;数据元素间无内在联系;存储形式不定。存储形式不定。1515下一页上一页停止放映数据运算数据运算是指对存放在物理结构上的数据数据运算是指对存放在物理结构上的数据,按定义的逻辑结构进行的各种操作。按
10、定义的逻辑结构进行的各种操作。常见操作有:常见操作有:输入、检索、插入、删除、修改、排序输入、检索、插入、删除、修改、排序等。等。1616下一页上一页停止放映数据结构分类 线性表线性表堆栈堆栈队列队列串串数组数组树树二叉树二叉树图图线性结构线性结构非线性结构非线性结构数据结构数据结构DSDS1717下一页上一页停止放映数据结构基本类型 线性结构线性结构 通迅录、成绩单、花名册通迅录、成绩单、花名册树形结构树形结构 电子字典、家谱、目录电子字典、家谱、目录图状结构图状结构 交通线路、通信网络交通线路、通信网络1818下一页上一页停止放映算法(algorithm)通通通通俗俗俗俗地地地地讲讲讲讲,
11、算算算算法法法法就就就就是是是是一一一一种种种种解解解解题题题题的的的的方方方方法法法法。更更更更严严严严格格格格地地地地说说说说,算算算算法法法法是是是是由由由由若若若若干干干干条条条条指指指指令令令令组组组组成成成成的的的的有有有有穷穷穷穷序序序序列列列列,它它它它必必必必须须须须满满满满足足足足下述条件(也称为算法的五大特性):下述条件(也称为算法的五大特性):下述条件(也称为算法的五大特性):下述条件(也称为算法的五大特性):输输入入:具具有有0 0个个或或多多个个输输入入的的外外界界量量(算算法法开开始始前前的的初始量)初始量)输出输出:至少有一个输出,是算法执行完后的结果。至少有一
12、个输出,是算法执行完后的结果。有穷性有穷性:每条指令的执行次数必须是有限的。每条指令的执行次数必须是有限的。确定性确定性:每条指令的含义都必须明确,无二义性。每条指令的含义都必须明确,无二义性。可行性可行性:每条指令的执行时间都是有限的。每条指令的执行时间都是有限的。1919下一页上一页停止放映1 1时间复杂度时间复杂度 一个算法花费的时间与算法中语句的执行次一个算法花费的时间与算法中语句的执行次数成正比,哪个算法中语句执行次数多,它花费数成正比,哪个算法中语句执行次数多,它花费时间就多。时间就多。数据结构中数据元素个数数据结构中数据元素个数n n称为问题的规模,称为问题的规模,当当n n不断
13、变化时,语句的执行次数也会变化。一不断变化时,语句的执行次数也会变化。一个算法中的时间复杂度一般用语句执行次数的数个算法中的时间复杂度一般用语句执行次数的数量级来衡量。量级来衡量。例如:例如:for(i=1;i=n;i+)for(j=1;j=i;j+)dij=dataij+1;算法分析O(n2)2020下一页上一页停止放映算法的评价算法评价的标准:算法评价的标准:时间复杂度时间复杂度 指在计算机上运行该算法所花费的时间。用指在计算机上运行该算法所花费的时间。用“O“O(数量级)(数量级)”来表示,称为来表示,称为“阶阶”。常见。常见的时间复杂度有:的时间复杂度有:O O(1 1)O O(log
14、nlogn)O O(n n)O O(n n2 2 )常数阶常数阶 对数阶对数阶 线性阶线性阶 平方阶平方阶空间复杂度空间复杂度 指算法在计算机上运行所占用的存储空间。指算法在计算机上运行所占用的存储空间。度量同时间复杂度。度量同时间复杂度。2121下一页上一页停止放映时间复杂度举例(a a)X X:=X+1=X+1;(b b)FOR I FOR I:=1 TO n DO =1 TO n DO X X:=X+1=X+1;(c c)FOR I FOR I:=1 TO n DO=1 TO n DO FOR J FOR J:=1 TO n DO=1 TO n DO X X:=X+1=X+1;O O(1
15、 1)O O(n n)O O(n n2 2 )2222下一页上一页停止放映2 2、空间复杂度、空间复杂度与时间复杂度类似,空间复杂度是指算法与时间复杂度类似,空间复杂度是指算法在计算机内执行时所占用的内存开销规模。但在计算机内执行时所占用的内存开销规模。但我们一般所讨论的是除正常占用内存开销外的我们一般所讨论的是除正常占用内存开销外的辅助存储单元规模。讨论方法与时间复杂度类辅助存储单元规模。讨论方法与时间复杂度类似,不再赘述。似,不再赘述。2323下一页上一页停止放映2.2 线性数据结构 线性表是由有限个同类型的数据元素组成的有线性表是由有限个同类型的数据元素组成的有序序列,一般记作序序列,一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 数据结构 应用 概念 顺序
限制150内