线性表数据结构.pptx
《线性表数据结构.pptx》由会员分享,可在线阅读,更多相关《线性表数据结构.pptx(49页珍藏版)》请在第壹文秘上搜索。
1、数据结构-线性表Linear List of Data Structures前言数据结构数据结构是相互之间存在一种或多种特定关系的数据元是相互之间存在一种或多种特定关系的数据元素的集合。同样是结构,从不同的角度来讨论,会有不素的集合。同样是结构,从不同的角度来讨论,会有不同的分类,如图同的分类,如图1所示。所示。逻辑结构逻辑结构:数据对象中数据元素之间的相互关系。:数据对象中数据元素之间的相互关系。物理结构物理结构:数据结构在计算机中的表示(映像)称为:数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。数据的物理(存储)结构。线性结构:线性结构:线性表线性表、栈和队列、串、数组和广义
2、表。、栈和队列、串、数组和广义表。图1 线性表的数据结构前言抽象数据类型抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型可以使我们更容易描述现实世界。例:用线性表描述学生成绩表,用树或图描述遗传关系。抽象数据类型描述的一般形式抽象数据类型描述的一般形式如下:ADT 抽象数据类型名称 数据对象:数据关系:操作集合:操作名1:操作名n:ADT抽象数据类型名称线性表线性表这样的抽象数据类型,其数学模型是:数据元素的集合,该集合内的元素有这样的关系:除第一个和最后一个外,每个元素有唯一的前趋和唯一的后继。可以有这样一些操作:
3、插入一个元素、删除一个元素等。 01020304线性表的概念及运算The Concepts and Operations of Linear List线性表的顺序存储Sequence Storage of Linear List线性表的链式存储 Linked Storage of Linear List顺序表与链表的比较Comparision between the two Linear ListsCONTENT01线性表的概念及运算The Concepts and Operations of Linear ListPART ONE1.线性表的概念及运算线性表线性表(Linear List)是
4、由n (n0)个类型相同的数据元素a1,a2,,an组成的有限序列,记做(a1,a2,,ai-1,ai,ai+1, ,an)。对于n0,除第一个元素无直接前驱、最后一个元素无直接后继外,其余的每一个数据元素只有一个直接前驱和一个直接后继。线性表线性表的特点同一性:线性表由同类数据元素组成,每一个ai必须属于同一数据对象。有穷性:线性表由有限个数据元素组成,表长度就是表中数据元素的个数。有序性:线性表中相邻数据元素之间存在着序偶关系。图1.1 线性表的逻辑结构1.线性表的概念及运算线性表存储方式线性表存储方式实现线性表在计算机中的存放有顺序存储与链式存储两种方式。线性表顺序存储(顺序表):线性表
5、顺序存储(顺序表):采用静态分配方式静态分配方式,借助于C语言的数组类型数组类型,申请一组连续的地址空间,依次存放表中元素,其逻辑次序会在存储顺序之中。线性表链式存储(链表):线性表链式存储(链表):采用动态分配方式动态分配方式,借助于C语言的指针类型指针类型,动态申请与动态释放地址空间,故链表中的各结点的物理存储可以是不连续的。1.线性表的概念及运算抽象数据类型定义 :ADT LinearList数据元素:D=ai| aiD0, i=1,2,,n n0 ,D0为某一数据对象结构关系: | ai, ai+1D0,i=1,2, ,n-1基本操作: (1)InitList(L) 操作前提:L为未初
6、始化线性表。 操作结果:将L初始化为空表。 (2)DestroyList(L) 操作前提:线性表L已存在。 操作结果:将L销毁。 (3)ClearList(L) 操作前提:线性表L已存在 。 操作结果:将表L置为空表。 1.线性表的概念及运算 (4)EmptyList(L) 操作前提:线性表L已存在。操作结果:如果L为空表则返回真,否则为假。 (5)ListLength(L) 操作前提:线性表L已存在。 操作结果:如果L为空表则返回0,否则返回表中元素个数。 (6)Locate(L,e) 操作前提:表L已存在,e为合法元素值。 操作结果:如果L中存在元素e,则将“当前指针”指向元素e所在位置并
7、返回真,否则返回假。 1.线性表的概念及运算 (7)GetData(L,i) 操作前提:表L存在,且i值合法,即1iListlength(L)。操作结果:返回线性表L中第i个元素的值。 (8)InsList(L,i,e) 操作前提:表L已存在,e为合法元素,且1iListlength(L)+1。 操作结果:在L中第i个位置插入新的数据元素e,L的长度加1。 (9)DelList(L,i,&e) 操作前提:表L已存在且非空,1iListlength(L)。 操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1。ADT LinearList02线性表的顺序存储Sequence Stora
8、ge of Linear ListPART TWO2.线性表的顺序存储基本概念2.1基本运算2.2优缺点分析2.32.1 基本概念线性表的顺序存储线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系关系。采用顺序存储结构的线性表通常称为顺序表顺序表。将顺序表顺序表归纳为:关系线性化,结点顺序存关系线性化,结点顺序存。假设线性表中有n个元素,每个元素占k个单元,第一个元素的地址为loc(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 数据结构