数据结构华中科技大学计算机学院(1)
数据结构 华中科技大学计算机学院(1) -------------------------------------------------
第二章线性表 2.1线性表的定义 2.1.1线性表的逻辑结构 1.线性表— 由n(n≥0)个数据元素(a1,a2,,.,an)构成的 有限序列 记作:L=(a1,a2,,an 首元素 an 尾元素 2.表的长度(表长)——线性表中数据元素的数目。 3.空表——不含数据元素的线性表
第二章 线性表 2.1 线性表的定义 2.1.1 线性表的逻辑结构 1.线性表── 由n(n≥0)个数据元素(a1,a2,...,an)构成的 有限序列。 记作: L=(a1,a2,...,an) a1──首元素 an──尾元素 2.表的长度(表长)──线性表中数据元素的数目。 3.空表──不含数据元素的线性表
线性表举例 例1.字母表L1=(A,B,C,,,Z 表长26 例2.姓名表L2=(李明,陈小平,王林,周爱玲) 表长4 的” 图书登记表 书名。作者单价(元)数量(册) 序设计语 明10.50500 2L数据结构 陈小平9.80450 nDoS使用手册周爱玲20.50945 表长n
线性表举例 例1. 字母表 L1=(A,B,C,...,Z) 表长26 例2. 姓名表 L2=(李明, 陈小平, 王林, 周爱玲) 表长4 例3. 图书登记表 序号 书 名 作 者 单价(元) 数量(册) 1 程序设计语言 李 明 10.50 500 2 数据结构 陈小平 9.80 450 ... ...... ..... ..... ... n DOS使用手册 周爱玲 20.50 945 表长n
线性表的特征 对于L=(a1,a2, a a: a a 1.a1-1在a1之前,称a1-1是a的直接前驱 (1<i≤n) 2.a+在ai之后,称a1计是a;的直接后继 (1≤i<n) 3.a1没有前驱 4.an没有后继 5.a;(1<i<n)有且仅有一个直接前驱和一个 直接后继
线性表的特征 对于 L=(a1,a2,...,ai-1 , ai,ai+1,...,an) 1.ai-1在ai之前,称ai-1是ai的直接前驱 (1<i≤n) 2.ai+1在ai之后,称ai+1是ai的直接后继 (1≤i<n) 3.a1没有前驱 4.an没有后继 5.ai(1<i<n)有且仅有一个直接前驱和一个 直接后继
2.1.2抽象数据类型线性表的定义 ADJ List 数据对象:L={aiai∈ ElemNet,i=1,2,n,n>=0} 数据关系:R1={ai-1,aiai-1∈D,i=1,2,,,n 基本操作: Iinilist(&L) //构造空表L。 2. LengthList(L) /求表L的长度 3. GetElem( L, i, &e) //取元素ai,由e返回ai 4. Priorelem(L,ce,&pree)//求ce的前驱,由pree返回 5. Insertelem(&L,i,e)//元素ai之前插入新元素e 6 DeleteElem(&L, i) //删除第i个元素 7. EmptyList(L) //判断L是否为空表 8. Clearlist(&L) //置L为空表 JAD List
2.1.2抽象数据类型线性表的定义 ADJ List { 数据对象:L={ai|ai∈ElemSet,i=1,2,,...n,n>=0} 数据关系:R1={<ai-1,ai>|ai-1∈D,i=1,2,,...n} 基本操作: 1.IiniList(&L) //构造空表L。 2.LengthList(L) //求表L的长度 3.GetElem(L,i,&e) //取元素ai,由e返回ai 4.PriorElem(L,ce,&pre_e) //求ce的前驱,由pre_e返回 5.InsertElem(&L,i,e) //在元素ai之前插入新元素e 6.DeleteElem(&L,i) //删除第i个元素 7.EmptyList(L) //判断L是否为空表 8.ClearList(&L) //置L为空表 ...... }ADJ List