严蔚敏数据结构PPTPPT格式课件下载.ppt
- 文档编号:16089623
- 上传时间:2022-11-19
- 格式:PPT
- 页数:814
- 大小:3.82MB
严蔚敏数据结构PPTPPT格式课件下载.ppt
《严蔚敏数据结构PPTPPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《严蔚敏数据结构PPTPPT格式课件下载.ppt(814页珍藏版)》请在冰豆网上搜索。
3数据结构习题与解析数据结构习题与解析(C语实言版语实言版)。
李春葆。
4数据结构与算法数据结构与算法。
夏克俭。
夏克俭编著。
国防工业出编著。
国防工业出版社。
版社。
第1章绪论目前,计算机已深入到社会生活的各个领域,其应目前,计算机已深入到社会生活的各个领域,其应用已不再仅仅局限于科学计算,而更多的是用于控制,用已不再仅仅局限于科学计算,而更多的是用于控制,管理及数据处理等非数值计算领域。
计算机是一门研究管理及数据处理等非数值计算领域。
计算机是一门研究用计算机进行信息表示和处理的科学。
这里面涉及到两用计算机进行信息表示和处理的科学。
这里面涉及到两个问题:
信息的个问题:
信息的表示表示,信息的,信息的处理处理。
信息的表示和组织又直接关系到处理信息的程序的信息的表示和组织又直接关系到处理信息的程序的效率。
随着应用问题的不断复杂,导致信息量剧增与信效率。
随着应用问题的不断复杂,导致信息量剧增与信息范围的拓宽,使许多系统程序和应用程序的规模很大,息范围的拓宽,使许多系统程序和应用程序的规模很大,结构又相当复杂。
因此,必须分析待处理问题中的对象结构又相当复杂。
因此,必须分析待处理问题中的对象的特征及各对象之间存在的关系,这就是数据结构这门的特征及各对象之间存在的关系,这就是数据结构这门课所要研究的问题。
课所要研究的问题。
编写解决实际问题的程序的一般过程编写解决实际问题的程序的一般过程:
如何用数据形式描述问题如何用数据形式描述问题?
即由问题抽象出一个即由问题抽象出一个适当的数学模型适当的数学模型;
问题所涉及的数据量大小及数据之间的关系问题所涉及的数据量大小及数据之间的关系;
如何在计算机中存储数据及体现数据之间的关系如何在计算机中存储数据及体现数据之间的关系?
处理问题时需要对数据作何种运算处理问题时需要对数据作何种运算?
所编写的程序的性能是否良好所编写的程序的性能是否良好?
上面所列举的问题基本上由数据结构这门课程来回答。
计算机求解问题的一般步骤计算机求解问题的一般步骤1.1数据结构及其概念数据结构及其概念算法与数据结构算法与数据结构是计算机科学中的一门综合性专是计算机科学中的一门综合性专业基础课业基础课。
是。
是介于数学、计算机硬件、计算机软件三者介于数学、计算机硬件、计算机软件三者之间的一门核心课程,不仅是一般程序设计的基础,而之间的一门核心课程,不仅是一般程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统及其且是设计和实现编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。
他系统程序和大型应用程序的重要基础。
1.1.1数据结构的例子数据结构的例子姓名姓名电话号码电话号码陈海陈海13612345588李四锋李四锋13056112345。
例例1:
电话号码查询系统:
电话号码查询系统设有一个电话号码薄,它记录了设有一个电话号码薄,它记录了N个人的名字和其个人的名字和其相应的电话号码,假定按如下形式安排:
相应的电话号码,假定按如下形式安排:
(a1,b1),(a2,b2),(an,bn),其中其中ai,bi(i=1,2n)分别表示某人的分别表示某人的名字和电话号码。
名字和电话号码。
本问题是一种典型的表格问题本问题是一种典型的表格问题。
如表如表1-1,数据与数据成简单的一对一的,数据与数据成简单的一对一的线性关系线性关系。
表表1-1线性表结构线性表结构例例2:
磁盘目录文件系统:
磁盘目录文件系统磁盘根目录下有很多子目录磁盘根目录下有很多子目录及文件,每个子目录里又可以包及文件,每个子目录里又可以包含多个子目录及文件,但每个子含多个子目录及文件,但每个子目录只有一个父目录,依此类推目录只有一个父目录,依此类推:
本问题是一种典型的树型结本问题是一种典型的树型结构问题,如图构问题,如图1-1,数据与数据,数据与数据成一对多的关系,是一种典型的成一对多的关系,是一种典型的非线性关系结构非线性关系结构树形结构树形结构。
图图图图1-11-1树形树形结构结构结构结构例例3:
交通网络图:
交通网络图从一个地方到另外一个地方可以有多条路径从一个地方到另外一个地方可以有多条路径。
本问本问题是一种典型的题是一种典型的网状结构网状结构问题,数据与数据成多对多的问题,数据与数据成多对多的关系,是一种非线性关系结构关系,是一种非线性关系结构。
佛山惠州广州中山东莞深圳珠海图图1-2网状结构网状结构数据数据(Data):
是客观事物的符号表示。
在计算机科:
在计算机科学中指的是所有能输入到计算机中并被计算机程序处理学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。
的符号的总称。
数据元素数据元素(DataElement):
是数据的基本单位,在程:
是数据的基本单位,在程序中通常序中通常作为一个整体作为一个整体来进行考虑和处理。
来进行考虑和处理。
一个数据元素可由若干个一个数据元素可由若干个数据项数据项(DataItem)组成。
组成。
数据项是数据的不可分割的最小单位。
数据项是对客观数据项是数据的不可分割的最小单位。
数据项是对客观事物某一方面特性的数据描述。
事物某一方面特性的数据描述。
数据对象数据对象(DataObject):
是性质相同的数据元素的集:
是性质相同的数据元素的集合,是数据的一个子集。
如字符集合合,是数据的一个子集。
如字符集合C=A,B,C,。
1.1.2基本概念和术语基本概念和术语数据结构数据结构(DataStructure):
是指相互之间具有:
是指相互之间具有(存在存在)一定联系一定联系(关系关系)的数据元素的集合。
元素之间的相互联的数据元素的集合。
元素之间的相互联系系(关系关系)称为称为逻辑结构逻辑结构。
数据元素之间的逻辑结构有四。
数据元素之间的逻辑结构有四种基本类型,如图种基本类型,如图1-3所示。
所示。
集合集合:
结构中的数据元素除了:
结构中的数据元素除了“同属于一个集合同属于一个集合”外,没有其它关系。
外,没有其它关系。
线性结构线性结构:
结构中的数据元素之间存在一对一的:
结构中的数据元素之间存在一对一的关系。
关系。
树型结构树型结构:
结构中的数据元素之间存在一对多的:
结构中的数据元素之间存在一对多的关系。
图状结构或网状结构图状结构或网状结构:
结构中的数据元素之间存:
结构中的数据元素之间存在多对多的关系。
在多对多的关系。
数据结构的形式定义是一个二元组:
Data-Structure=(D,S)其中:
其中:
D是数据元素的有限集,是数据元素的有限集,S是是D上关系的有限集。
上关系的有限集。
例例2:
设数据逻辑结构:
设数据逻辑结构B=(K,R)K=k1,k2,k9R=,画出这逻辑结构的图示,并确定那些是起点,那些是终点画出这逻辑结构的图示,并确定那些是起点,那些是终点1.1.3数据结构的形式定义数据结构的形式定义图图1-3四类基本四类基本结构图结构图结构图结构图1.1.4数据结构的存储方式数据结构的存储方式数据元素之间的关系可以是元素之间代表某种含义数据元素之间的关系可以是元素之间代表某种含义的自然关系,也可以是为处理问题方便而人为定义的关的自然关系,也可以是为处理问题方便而人为定义的关系,这种系,这种自然或人为定义的自然或人为定义的“关系关系”称为数据元素之称为数据元素之间的间的逻辑关系逻辑关系,相应的,相应的结构结构称为称为逻辑结构逻辑结构。
数据结构在计算机内存中的存储包括数据结构在计算机内存中的存储包括数据元素的数据元素的存储存储和和元素之间的关系的表示元素之间的关系的表示。
元素之间的关系在计算机中有两种不同的表示方法:
顺序表示和非顺序表示顺序表示和非顺序表示。
由此得出两种不同的存储结构:
顺序存储结构顺序存储结构和和链式存储结构链式存储结构。
顺序存储结构顺序存储结构:
用数据元素在存储器中的相对位置用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构来表示数据元素之间的逻辑结构(关系关系)。
链式存储结构链式存储结构:
在每一个数据元素中增加一个存放在每一个数据元素中增加一个存放另一个元素地址的指针另一个元素地址的指针(pointer),用该指针来表示,用该指针来表示数据元素之间的逻辑结构数据元素之间的逻辑结构(关系关系)。
例例:
设有数据集合设有数据集合A=3.0,2.3,5.0,-8.5,11.0,两种不同,两种不同的存储结构。
的存储结构。
顺序结构:
数据元素存放的顺序结构:
数据元素存放的地址是连续的地址是连续的;
链式结构:
数据元素存放的链式结构:
数据元素存放的地址是否连续没有要地址是否连续没有要求求。
数据的逻辑结构和物理结构是密不可分的两个方面,数据的逻辑结构和物理结构是密不可分的两个方面,一个一个算法的设计取决于算法的设计取决于所选定的所选定的逻辑结构逻辑结构,而,而算法的实算法的实现依赖于现依赖于所采用的所采用的存储结构存储结构。
在在C语言中,用语言中,用一维数组一维数组表示顺序存储结构表示顺序存储结构;
用用结结构体类型构体类型表示链式存储结构。
表示链式存储结构。
数据结构的三个组成部分:
逻辑结构逻辑结构:
数据元素之间逻辑关系的描述数据元素之间逻辑关系的描述D_S=(D,S)存储结构存储结构:
数据元素在计算机中的存储及其逻辑数据元素在计算机中的存储及其逻辑关系的表现称为数据的存储结构或物理结构关系的表现称为数据的存储结构或物理结构。
数据操作数据操作:
对数据要进行的运算对数据要进行的运算。
本课程中将要讨论的三种逻辑结构及其采用的存储本课程中将要讨论的三种逻辑结构及其采用的存储结构如图结构如图1-4所示。
数据的逻辑结构数据的逻辑结构非线性结构非线性结构集合图状结构有向图无向图树形结构一般树二叉树线性结构线性结构一般线性表线性表推广广义表数组串受限线性表栈和队列图1-5数据逻辑结构层次关系图数据逻辑结构层次关系图图图1-4逻辑结构与所采用的存储结构逻辑结构与所采用的存储结构线性表线性表树树图图顺序存储结构顺序存储结构链式存储结构链式存储结构复合存储结构复合存储结构逻辑结构逻辑结构物理结构物理结构数据类型数据类型(DataType):
指的是:
指的是一个值的集合一个值的集合和定义和定义在在该值集上的一组操作该值集上的一组操作的总称。
的总称。
数据类型是和数据结构密切相关的一个概念。
在在C语言中数据类型有:
基本类型和构造类型。
语言中数据类型有:
数据结构不同于数据类型,也不同于数据对象,它数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。
各元素之间的相互关系。
1.1.5数据类型数据类型数据结构的主要运算包括:
数据结构的主要运算包括:
建立建立(Create)一个数据结构;
一个数据结构;
消除消除(Destroy)一个数据结构;
从一个数据结构中删除从一个数据结构中删除(Delete)一个数据元素;
一个数据元素;
把一个数据元素插入把一个数据元素插入(Insert)到一个数据结构中;
到一个数据结构中;
对一个数据结构进行访问对一个数据结构进行访问(Access);
对一个数据结构对一个数据结构(中的数据元素中的数据元素)进行修改进行修
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 严蔚敏 数据结构 PPT