《数据结构介绍》PPT课件.ppt
《《数据结构介绍》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据结构介绍》PPT课件.ppt(51页珍藏版)》请在三一办公上搜索。
1、1,数 据 结 构(Data Structure),任课教师:赵少卡 E-MAIL:,数计系2012级计算机科学与技术、网络工程专业,2,课程性质:专业核心基础课教材:严蔚敏、吴伟民.数据结构(C语言版).北京:清华大学出版社,2011.1981年初稿,使用面最广周学时:4(理论授课)+2(上机实践)考核:平时成绩(作业、考勤)20%+期中成绩20%+期末成绩60%,3,保持课堂安静,头脑清醒,思维活跃课后及时复习巩固认真、独立、按时完成并提交作业多思考多动手,重视上机实践,课程要求,4,数据结构,基础数据结构,应用数据结构,非线性结构,线性结构,线性表,栈,队列,串,数组,广义表,树,二叉树
2、,图,查找,内部排序,外部排序,文件,动态存储管理,本课程的内容框架,5,讲授篇章,第1章 绪论,第7章 图,第2章 线性表,第9章 查找,第3章 栈和队列,第6章 树和二叉树,第10章 内部排序,6,第 1 章 绪 论,问题求解(Problem Solving):,7,计算机求解问题的分类,数值计算(科学运算):解方程(组)、函数求值、概率统计等。应用:天气预报(环流模式方程)、结构静力分析(线性代数方程组)、水库大坝的应力计算、预报人口增长等。非数值计算:字符、表格、图像、声音等。,8,基本概念和术语,数据:计算机程序处理的符号的总称,包含整型、实型、布尔型、图象、字符、声音等一切可以输入
3、到计算机中的符号集合。数据元素:数据的基本单位(数据中的一个“个体”),通常作为一个整体进行处理。数据项:数据的具有意义的不可分割的最小单位。一个数据元素可以由若干个数据项构成。,9,数据对象:性质相同的数据元素的集合。如:整数数据对象 N=0,1,2,(无限集)字母字符数据对象C=A,B,C,Z(有限集)因此:数据元素是数据的一个个体;数据对象是数据的一个子集。,10,例:a1,a2,a3,a4,a5,a6存在次序为:(1)|i=1,2,3,4,5(2)Row=,Col=,所谓结构就是数据元素之间的关系,即描述数据元素之间的运算与运算规则。数据结构:相互间存在一种或多种特定关系的数据元素的集
4、合。,11,数据的逻辑结构,数据的存储结构(物理结构、映像),数据的运算:查找、排序、插入、删除、修改等,线性结构,非线性结构,顺序存储,链式存储,线性表,栈,队列,树形结构,图形结构,数据结构的三个方面:,集合结构,串,索引存储,散列存储,12,主要逻辑结构举例集合:其中的数据元素之间除了“属于同一个集合”的关系以外,别无其他关系。线性结构:其中的数据元素之间存在一对一的关系。树型结构:其中的数据元素之间存在一对多的关系。图状结构(网状结构):其中的数据元素之间存在多对多的关系。,13,例1 书目自动检索系统,书目文件,14,例2 人机对弈问题,15,例3 多叉路口交通灯管理问题,有连线的节
5、点用不同的颜色标记,表示不能同时通行。要求使用的颜色数尽可能少,以使减少等待时间。,16,逻辑结构与存储结构,逻辑结构:数据元素间的逻辑关系,与数据元素的相对位置无关。存储结构:逻辑结构在计算机存储器中的表示,如:,顺序存储结构借助元素在存储器中的相对位置来表示 数据元素间的逻辑关系链式存储结构借助指示元素存储地址的指针表示数据 元素间的逻辑关系,17,18,1536,元素2,1400,元素1,1346,元素3,元素4,1345,h,链式存储结构,h,19,数据类型与抽象数据类型,数据类型(Data Type):值的集合以及定义在这个集合上的一组操作。数据类型分类:(1)原子类型:每个数据都无
6、法再分割。(整型、实型、字符型等)(2)结构类型:结构类型中的数据可以分解为若干原子类型或结构类型数据。(数组、记录、结构体、联合体、串、文件等),20,抽象数据类型(Abstract Data Type,ADT):数学模型以及定义在该模型上的一组操作,与其在计算机中的表示和实现无关。例如:矩阵+求转置、加、乘、求逆、求特征值等操作构成一个矩阵的抽象数据类型。ADT 可用三元组表示:(D,R,P)D 数据对象 R D上的关系的有限集 P 对D的基本操作集,21,抽象数据类型的定义,ADT抽象数据类型名 数据对象:数据对象的定义 数据关系:数据关系的定义 基本操作:基本操作名(参数表)初始条件:
7、初始条件描述 操作结果:操作结果描述ADT抽象数据类型名在定义抽象数据类型中的数据部分和操作部分时,要求只定义数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现。,22,基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以&打头,除可提供输入值外,还将返回操作结果。“初始条件”描述了操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息。“操作结果”说明了操作正常完成之后,数据结构的变化状况和应返回的结果。若初始条件为空,则省略之。,23,抽象数据类型三元组的定义,ADT Triplet 数据对象:D=e1,e2,e3|e1,e2,e3Elemset
8、(定义了关系运算的某个集合)数据关系:R1=e1,e2,e2,e3 基本操作P:InitTriplet(&T,v1,v2,v3)初始条件:操作结果:构造三元组T,元素e1,e2和e3分别被赋予参数v1,v2和v3的值。DestroyTriplet(&T)初始条件:三元组T已经存在。操作结果:销毁三元组T。Get(T,i,&e)初始条件:三元组T已经存在,1=i=3。操作结果:用e返回三元组T的第i个元素。,24,Put(否则返回FALSE。Max(T,&e)初始条件:三元组T已经存在。操作结果:用e返回三元组T的最大值。Min(T,&e)初始条件:三元组T已经存在。操作结果:用e返回三元组T的
9、最小值。ADT Triplet,25,又例:抽象数据类型圆(Circle)的定义。ADT Circle 数据对象:D=r|r实型数集合 数据关系:R=基本操作P:InitCircle(&r,c)初始条件:c为圆的半径(c0)操作结果:构造一个圆r,使其半径为c DestroyCircle(&r)初始条件:圆r已存在 操作结果:撤消圆r(使其半径为0)AreaCircle(r,&A)初始条件:圆r已存在 操作结果:用A返回圆的面积 CircumferenceCircle(r,&C)初始条件:圆r已存在 操作结果:用C返回圆的周长 ADT Circle,26,抽象数据类型的表示与实现,类C语言(对
10、C语言作了扩充和修改)表示。如:预定义常量和类型 define TRUE 1define FALSE 0define OK 1define ERROR 0define INFEASIBLE-1define OVERFLOW-2 typedef int Status;,27,三元组基本操作实现-举例,Status InitTriplet(Triplet/InitTriplet,28,三元组基本操作实现-举例,Status Get(Triple T,int i,Elemtype/Get,29,#include void fa(int a)a+;printf(在函数fa中:a=%dn,a);void
11、 fb(int*a)/*a为指针类型,在函数中改变*a,改变后的值将带回主调函数*/(*a)+;printf(在函数fb中:*a=%dn,*a);void main()int n=1;printf(调用函数fa之前:n=%dn,n);fa(n);printf(调用函数fa之后,调用函数fb之前:n=%dn,n);fb(,30,抽象数据类型(ADT)明确地把数据模型与该模型上的运算紧密地联系起来。从使用的角度看,ADT隐藏了所有使用者不关心的实现细节,对用户透明(提供接口),使程序模块的实现与使用分离,从而能够独立地考虑模块的外部界面、内部算法和数据结构的实现,做到了信息隐蔽与数据封装。,Abs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构介绍 数据结构 介绍 PPT 课件
链接地址:https://www.31ppt.com/p-5519653.html