数据结构与算法第1章.ppt
《数据结构与算法第1章.ppt》由会员分享,可在线阅读,更多相关《数据结构与算法第1章.ppt(84页珍藏版)》请在三一办公上搜索。
1、教材和参考书,教材:数据结构(C语言版)严蔚敏,吴伟民参考书:数据结构与算法教程 李春葆,C语言 数据结构 软件工程,掌握基本编程方法,掌握数据组织和数据处理的方法,掌握大型软件开发方法,学习识字,学习写作文,学习写小说,基本要求,课程关系,与语文学习过程类比,前期课程,数据结构,计算机基础C语言离散数学,后期课程,操作系统编译原理数据库原理软件工程,承上启下,作业及考核,作业:时间:周五数量:每次交一半,单双号考核:笔试:70-80%作业:20-30%,课件,帐号:courseware_ds密码:123456,联系方式,盛立杰电话邮件,第1章 绪论,1.1 什么是数据结构(定义)1.2 数据
2、结构的内容1.3 算法1.4 算法描述的工具1.5 对算法作性能评价1.6 关于学习数据结构,第一章 绪论,计算机的应用:,科学计算;,控制、管理及数据处理等非数值计算的处理工作;,计算机加工的对象:,纯粹的数值;,文本、表格和图像数据;,如何表示、处理这些新的、具有一定结构的数据?,数据结构是一门什么课程,数据结构是一门研究非数值计算的程序设计问题时处理的操作对象以及它们之间的关系和操作等等的学科。,解决数值计算问题的中心:建立适当的数学模型。,解决非数值计算问题的中心:寻找适当的数据结构。,数值问题:,非数值问题:,数据结构:线性表。,例2,计算机和人对奕问题。,计算机可以根据当前棋盘格局
3、,来预测棋局发展的趋势,甚至最后结局。,数据结构:对弈树。,派生格局,例3,地图的着色问题。,对地图上的每个区域染一种颜色,并且要求相邻的两个区域不能具有相同颜色。,数据结构:图。,红,绿,绿,蓝,红,黑,绿,用最少的颜色染色,数学,计算机硬件,计算机软件,数据结构,1.数据(Data),对客观事物的符号描述,能输入到计算机中并被计算机程序处理的符号的总称;能被计算机识别、存储和加工处理的信息的载体。,例,数字:自然数、整数字母:a z,单词图像:视频、音频信号等表格:,2.数据元素(Data Element)数据元素是组成数据的基本单位,是数据集合的个体,在计算机中通常作为一个整体进行考虑和
4、处理。,例,“对弈树”中的一个格局书目信息中的一条书目,数据项:一个数据元素可由若干个数据项组成。,例,一条书目信息是由书名、作者名、分类等多个数据项组成的,数据项是数据的不可分割的最小单位。,例如 有一个学生表如下所示。这个表中的数据元素是学生记录,每个数据元素由四个数据项(即学号、姓别、性别和班号)组成。,3.数据结构(Data Structure)数据结构是指相互之间存在一种或多种特定关系的数据元素集合,,结构(Structure)数据元素相互之间的关系。,在形式上可用二元组表示:Data_Structure=(D,S)D:数据元素的有限集 S:D上关系的有限集,D=ki|1in,n0k
5、i表示集合D中的第i个结点或数据元素n为D中结点的个数若n=0,则D是一个空集,表示D无结构可言,有时也可以认为它具有任意的结构,S=rj|1jm,m0rj 表示集合S中的第j个二元关系(简称关系)m为S中关系的个数若m=0,则S是一个空集,表明集合D中的元结点间不存在任何关系,彼此是独立的,例如,用二元组表示学生表,学生表中共有7个结点,依次用k1k7表示,则对应的二元组表示为Data_Structure=(D,S)其中:D=k1,k2,k3,k4,k5,k6,k7 S=,逻辑结构图:可以将数据结构用图形形象地表示出来,图形中的每个结点对应着一个数据元素,两结点之间的连线对应着关系中的一个序
6、偶。上述“学生表”数据结构用下图的图形表示。,例1,内部关系,复数Complex=(C,R),其中:C是含两个实数的集合c1,c2;R=P,而P是定义在集合C上的一种关系,其中有序偶表示c1是复数的实部,c2是复数的虚部。,其中:C是数据记录的集合ai;R=P,而P是定义在集合C上的一种关系,其中有序偶表示ai-1是ai的直接前驱元素,ai是ai-1的直接后继元素。,例3、设数据的结构描述如下:Tree=(D,R)D=1,2,3,4,5,6R=,画出其逻辑结构图?,1.2 数据结构的内容,逻辑结构 数据元素之间的关系。,逻辑结构可看作是从具体问题抽象出来的数学模型。,按照逻辑关系的不同特性分类
7、:集合:(同属于一个集合)线性结构:(一对一)非线性结构:树型结构:(一对多)图形结构:(多对多),逻辑结构类型的分类,(1)线性结构 所谓线性结构,该结构中的结点之间存在一对一的关系。其特点是:开始结点和终端结点都是惟一的,除了开始结点和终端结点以外,其余结点都有且仅有一个前驱结点,有且仅有一个后继结点。顺序表就是典型的线性结构。,逻辑结构类型,(2)非线性结构 所谓非线性结构,该结构中的结点之间存在一对多或多对多的关系。它又可以细分为树形结构和图形结构两类。,所谓树形结构,该结构中的结点之间存在一对多的关系。其特点是每个结点最多只有一个前驱,但可以有多个后继,可以有多个终端结点。非线性结构
8、树形结构简称为树。,UNIX文件系统的系统结构图,所谓图形结构,该结构中的结点之间存在多对多的关系。其特点是每个结点的前驱和后继的个数都可以是任意的。因此,可能没有开始结点和终端结点,也可能有多个开始结点、多个终端结点。图形结构简称为图。,2.存储结构(物理结构)逻辑结构在计算机中的存储映象,是逻 辑结构在计算机中的实现,它包括数据元素的表示和关系的表示。,顺序存储结构非顺序存储结构(链式存储结构)索引存储结构散列存储结构,例如 用顺序存储法和链式存储法表示下面的学生表。,用顺序存储法存放学生表的结构体定义为:struct Stud int no;/*学号*/char name8;/*姓名*/
9、char sex2;/*性别*/char class4;/*班号*/Studs7=1,“张斌”,“男”,“9901”,5,王萍,女,9901;,结构体数组Studs各元素在内存中按顺序存放,即第i(1i6)个学生对应的元素Studsi存放在第i+1个学生对应的元素Studsi+1之前,Studsi+1正好在Studsi之后。,用链式存储法存放学生表的结构体定义为:typedef struct node int no;/*学号*/char name8;/*姓名*/char sex2;/*性别*/char class4;/*班号*/struct node*next;/*指向下个学生的指针*/Stu
10、dType;,学生表构成的链表如右图所示。其中的head为第一个数据元素的指针。,学生表构成的链表,链式存储法的缺点:存储空间占用大无法随机访问链式存储法的优点:便于修改(插入、删除、移动),逻辑结构与存储结构的关系存储结构是逻辑结构用计算机语言的实现;如何用计算机语言表示数据元素之间的各种关系。存储结构是逻辑关系的映象与元素本身的映象。逻辑结构是数据结构的抽象,存储结构是数据结构的实现,两者综合起来建立了数据元素之间的结构关系。,3.数据的运算就是施加于数据的操作,如查找、添加、修改、删除等。在数据结构中运算不仅仅实加减乘除这些算术运算,它的范围更为广泛,常常涉及算法问题。举例:线性表的初始
11、化、查找、插入、删除操作等算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构。抽象运算定义在逻辑结构上,而实现在存储结构上。,数据结构的内容可归纳为三个部分:逻辑结构、存储结构和运算集合。按某种逻辑关系组织起来的一批数据,按一定的映象方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做数据结构。,数据类型 在用高级程序语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明它们所属的数据类型。不同类型的变量,其所能取的值的范围不同,所能进行的操作不同。数据类型是一个值的集合和定义在此集合上的一组操作的总称。,如C/C+中的int就是整型数
12、据类型。它是所有整数的集合(在16位计算机中为32768到32767的全体整数)和相关的整数运算(如、等)。,(2)抽象数据类型 抽象数据类型(Abstract Data Type简写为ADT)指的是用户进行软件系统设计时从问题的数学模型中抽象出来的逻辑数据结构和逻辑数据结构上的运算,而不考虑计算机的具体存储结构和运算的具体实现算法。,一个抽象数据类型的模块通常应包含定义、表示和实现三部分。,数据对象的定义,数据关系的定义,基本操作的定义,其中,数据对象、数据关系用伪码描述;基本操作定义格式为基本操作名(参数表)初始条件:初始条件描述操作结果:操作结果描述基本操作有两种参数:赋值参数只为操作提
13、供输入值;引用参数以&打头,除可提供输入值外,还将返回操作结果。“初始条件”描述了操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息。“操作结果”说明了操作正常完成之后,数据结构的变化状况和应返回的结果。若初始条件为空,则省略之。,例如,定义抽象数据类型“复数”,数据对象:De1,e2e1,e2RealSet 数据关系:R1|e1是复数的实数部分,|e2 是复数的虚数部分,ADT Complex,基本操作:,AssignComplex(&Z,v1,v2)操作结果:构造复数 Z,其实部和虚部 分别被赋以参数 v1 和 v2 的值。,DestroyComplex(&Z
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法
链接地址:https://www.31ppt.com/p-5986026.html