第2章 线性表

第2章 线性表

ID:44981964

大小:1.23 MB

页数:79页

时间:2019-11-06

第2章 线性表_第1页
第2章 线性表_第2页
第2章 线性表_第3页
第2章 线性表_第4页
第2章 线性表_第5页
资源描述:

《第2章 线性表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2.1线性表的类型定义2.3线性表的链式表示和实现链式映像2.4一元多项式的表示2.2线性表的顺序表示和实现顺序映像第2章线性表数据的四种基本结构12n线性结构:树结构:1+++++图结构:集合线性结构的基本特征:0)在数据元素的非空有限集中,1)存在唯一的第1个数据元素;2)存在唯一的最后1个数据元素;3)第i(>1)个数据元素有唯一的1个前驱;4)第j(

2、i是ai-1的后继元素。a1ai-1aia2an第1个数据元素最后1个数据元素抽象数据类型线性表的定义如下:ADTLinearList{数据对象:D={ai

3、ai∈ElemSet,i=1,2,...,n,n≥0}{称n为线性表的表长;称n=0时的线性表为空表。}数据关系:R1={

4、ai-1,ai∈D,i=2,...,n}{设线性表为(a1,a2,...,ai,...,an),称i为ai在线性表中的位序。}基本操作:setnull(L):置空表操作,将线性表L置为空表。length(L):求长度操作,计算线性表L中数据元素的个数。get(L,

5、i):取元素操作,取出线性表L中第i个数据元素;要求i≤length(L)。prior(L,x):取前趋操作,取出线性表L中值为x的元素的前趋元素;要求x的位序大于1。next(L,x):取后继操作,取出线性表L中值为x的元素的后继元素;要求x的位序小于length(L)。locate(L,x):定位序操作,确定元素x在线性表L中的位置,并给出位置序号;若L中无x返回0。insert(L,x,i):插入操作,在线性表L中第i个位置上插入值为x的新元素,使表长增1;要求1≤i≤length(L)+1。delete(L,i):删除操作,删除线性表L中的第i个元素

6、,使表长减1;要求1≤i≤length(L)。}ADTLinearList利用上述定义的线性表可以实现其它更复杂的操作:如线性表的分拆、合并、逆置等例2-1(合并)假设:有两个集合A和B分别用两个线性表LA和LB表示,即:线性表中的数据元素即为集合中的成员。现要求一个新的集合A=A∪B。例2-1要求对线性表作如下操作:扩大线性表LA,将存在于线性表LB中而不存在于线性表LA中的数据元素插入到线性表LA中去。上述问题可演绎为:1.从线性表LB中依次查看每个数据元素;2.依值在线性表LA中进行查访;3.若不存在,则插入之。get(LB,i)→elocate(LA

7、,e)insert(LA,e,n+1)操作步骤:2.2线性表的顺序表示和实现顺序映像最简单的一种顺序映像方法是:令y的存储位置和x的存储位置相邻。顺序映像——以x的存储位置和y的存储位置之间某种关系表示逻辑关系。用一组地址连续的存储单元依次存放线性表中的数据元素a1a2…ai-1ai…an线性表的起始地址称作线性表的基地址以“存储位置相邻”表示有序对即:LOC(ai)=LOC(ai-1)+C一个数据元素所占存储量↑所有数据元素的存储位置均取决于第一个数据元素的存储位置LOC(ai)=LOC(a1)+(i-1)×C↑基地址顺序映像

8、的C语言描述typedefstruct{}sequenlist;//俗称顺序表elemtypedata[MAXSIZE];intlast;//最后一个元素位置#defineMAXSIZE500线性表的基本操作在顺序表中的实现locate(L,x)//定位序insert(L,x,i)//插入元素delete(L,i)//删除元素例如:顺序表定位操作23754138546217L->lastx=38iiiiii12341850i可见,基本操作是:将顺序表中的元素逐个和给定值x相比较。intlocate(sequenlist*L,elemtypex)/*确定元素x

9、在顺序表L中的位置序号*/{inti=1;while((i<=L->last)&&(L->data[i]!=x))i++;if(i>L->last)return0;/*未找到值为x的元素返回0*/elsereturni;/*找到值为x的元素返回它的位序i*/}/*locate*/locate(L,x)定位序O(n)算法的时间复杂度为:线性表操作insert(L,x,i)的实现:首先分析:插入元素时,线性表的逻辑结构发生什么变化?(a1,…,ai-1,ai,…,an)改变为(a1,…,ai-1,x,ai,…,an)a1a2…ai-1ai…ana1a2…ai-1

10、…aixan,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。