没有合适的资源?快使用搜索试试~ 我知道了~
数据结构各章考试复习要点(打印版).pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 166 浏览量
2022-07-12
18:24:13
上传
评论
收藏 1.05MB PDF 举报
温馨提示
试读
32页
数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf数据结构各章考试复习要点(打印版).pdf
资源推荐
资源详情
资源评论
数据结构各章考试复习要点 (打印版)
数据(Data)
数据是信息的载体。它能够被计算机识别、存储和加工处理,是计算
机程序加工的"原料"。
随着计算机应用领域的扩大,数据的范畴包括:整数、实数、字符串、
图像和声音等。
数据元素(DataElement)
数据元素是数据的基本单位。数据元素也称元素、结点、顶点、记录。
一个数据元素可以由若干个数据项(也可称为字段、域、属性)组成。数
据项是具有独立含义的最小标识单位。数据结构(DataStructure)
数据结构指的是数据之间的相互关系,即数据的组织形式。
1.数据结构一般包括以下三方面内容:
①数据元素之间的逻辑关系,也称数据的逻辑结构
(LogicalStructure);数据的逻辑结构是从逻辑关系上描述数据,与数
据的存储无关,是独立于计算机的。数据的逻辑结构可以看作是从具体问
题抽象出来的数学模型。
②数据元素及其关系在计算机存储器内的表示,称为数据的存储结构
(StorageStructure);
数据的存储结构是逻辑结构用计算机语言的实现(亦称为映象),它
依赖于计算机语言。对机器语言而言,存储结构是具体的。一般,只在高
级语言的层次上讨论存储结构。③数据的运算,即对数据施加的操作。
数据的运算定义在数据的逻辑结构上,每种逻辑结构都有一个运算的
集合。最常用的检索、插入、删除、更新、排序等运算实际上只是在
在上面的学生成绩表中,可能要经常查看某一学生的成绩;当学生退
学时要删除相应的结点;进来新学生时要增加结点。究竟如何进行查找、
删除、插入,这就是数据的运算问题。
搞清楚了上述三个问题,也就弄清了学生成绩表这个数据结构。
2.数据的逻辑结构分类
在不产生混淆的前提下,常将数据的逻辑结构简称为数据结构。数据
的逻辑结构有两大类:(1)线性结构
线性结构的逻辑特征是:若结构是非空集,则有且仅有一个开始结点
和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。
线性表是一个典型的线性结构。栈、队列、串等都是线性结构。(2)非
线性结构
非线性结构的逻辑特征是:一个结点可能有多个直接前趋和直接后继。
数组、广义表、树和图等数据结构都是非线性结构。
抽象的数据上所施加的一系列抽象的操作。所谓抽象的操作,是指我
们只知道这些操作是"做什么",而无须考虑"如何做"。只有确定了存储结
构之后,才考虑如何具体实现这些运算。
为了增加对数据结构的感性认识,下面举例来说明有关数据结构的概
念。【例 1.1】
学生成绩表,见下表。
概论-基本概念和术语(二)
3.数据的四种基本存储方法
数据的存储结构可用以下四种基本存储方法得到:(1)顺序存储方
法
该方法把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结
点间的逻辑关系由存储单元的邻接关系来体现。
表中的每一行是一个数据元素(或记录、结点),它由学号、姓名、
各科成绩及平均成绩等数据项组成。
表中数据元素之间的逻辑关系是:对表中任一个结点,与它相邻且在
它前面的结点(亦称为直接前趋(ImmediatePredeceor))最多只
有一个;与表中任一结点相邻且在其后的结点(亦称为直接后继
(ImmediateSucceor))也最多只有一个。表中只有第一个结点没有直
接前趋,故称为开始结点;也只有最后一个结点没有直接后继。故称
之为终端结点。例如,表中"马二"所在结点的直接前趋结点和直接后继
结点分别是"丁一"和"张三"所在的结点,上述结点间的关系构成了这
张学生成绩表的逻辑结构。
(2)存储结构
该表的存储结构是指用计算机语言如何表示结点之间的这种关系,即
表中的结点是顺序邻接地存储在一片连续的单元之中,还是用指针将这些
结点链接在一起?
(3)数据的运算
注意:在表中指出数据元素、数据项、开始结点和终端结点等概念
(1)逻辑结构
由此得到的存储表示称为顺序存储结构
(SequentialStorageStructure),通常借助程序语言的数组描述。
该方法主要应用于线性的数据结构。非线性的数据结构也可通过某种
线性化的方法实现顺序存储。(2)链接存储方法
该方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑
关系由附加的指针字段表示。由此得到的存储表示称为链式存储结构
(LinkedStorageStructure),通常借助于程序语言的指针类型描述。( 3)
索引存储方法
按"值"是否可分解,可将数据类型划分为两类:
该方法通常在储存结点信息的同时,还建立附加的索引表。
①原子类型:其值不可分解。通常是由语言直接提供。
索引表由若干索引项组成。若每个结点在索引表中都有一个索引项,
则该索引表称之为稠密索引(DeneInde 某)。若一组结点在索引表中只
对应一个索引项,则该索引表称为稀疏索引(SpareInde 某)索引项的
一般形式是:
(关键字、地址)
关键字是能唯一标识一个结点的那些数据项。稠密索引中索引项的地
址指示结点所在的存储位置;稀疏索引中索引项的地址指示一组结点的起
始存储位置。(4)散列存储方法
该方法的基本思想是:根据结点的关键字直接计算出该结点的存储地
址。四种基本存储方法,既可单独使用,也可组合起来对数据结构进行存
储映像。同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。
选择何种存储结构来表示相应的逻辑结构,视具体要求而定,主要考虑运
算方便及算法的时空要求。4.数据结构三方面的关系
存储结构是数据结构不可缺少的一个方面:同一逻辑结构的不同存储
结构可冠以不同的数据结构名称来标识。
【例】线性表是一种逻辑结构,若采用顺序方法的存储表示,可称其
为顺序表;若采用链式存储方法,则可称其为链表;若采用散列存储方法,
则可称为散列表。
Potcondition:执行本操作后系统的状态//"系统"可看作某个数据结
构
数据的运算也是数据结构不可分割的一个方面。在给定了数据的逻辑
结构和存储结构之后,按定义的运算集合及其运算的性质不同,也可能导
致完全不同的数据结构。
【例】若对线性表上的插入、删除运算限制在表的一端进行,则该线
性表称之为栈;若对插入限制在表的一端进行,而删除限制在表的另一端
Operation2://操作 2……}//ADT
【例】C 语言的整型、字符型等标准类型及指针等简单的导出类型;
②结构类型:其值可分解为若干个成分(或称为分量)。是用户借助于语
言提供的描述机制自己定义的,它通常是由标准类型派生的,故它也是一
种导出类型。
【例】C 的数组、结构等类型。
剩余31页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6468
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功