数据结构第2章线性表(1)_第1页
数据结构第2章线性表(1)_第2页
数据结构第2章线性表(1)_第3页
数据结构第2章线性表(1)_第4页
数据结构第2章线性表(1)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习提要2.1线性表的类型定义2.2线性表的顺序表示和实现2.3线性表的链式表示和实现2.4一元多项式的表示及相加2.5顺序表与链表的比较,第二章线性表,学习提要,理解线性结构的基本特点理解线性表的基本概念和抽象数据类型的定义。掌握线性表的顺序和链式存储结构的描述方法、基本操作(查找、插入和删除等)和各种算法的时间复杂度分析.能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合。,线性结构的特点,在数据元素的非空有限集中存在唯一的一个被称做“第一个”的数据元素;存在唯一一个被称做“最后一个”的数据元素;除第一个数据元素之外,每个元素都只有一个前驱;除最后一个数据元素之外,每个元素都只有一个后继。,定义:一个线性表是n个数据元素的有限序列,例英文字母表(A,B,C,.Z)是一个线性表,2.1线性表的类型定义(LinearList),2.1线性表的类型定义(LinearList),特征:元素个数n表长度,n=0空表1ilast=maxsize-1)printf(表已满无法插入);return(ERROR);for(k=L-last;k=i-1;k-)/*移动元素*/L-elemk+1=L-elemk;L-elemi-1=e;L-last+;return(OK);,2.2顺序表类型的实现,3、顺序线性表的操作顺序表容易实现访问操作,可随机存取元素。但插入和删除操作主要是移动元素。(4)在线性表中删除第i个元素:删除元素时,线性表的逻辑结构由(a1,ai-1,ai,ai+1,an)改变为(a1,ai-1,ai+1,an),算法思想1)检查i值是否超出所允许的范围(1in),若超出,则进行“超出范围”错误处理;2)将线性表的第i个元素后面的所有元素均向前移动一个位置;3)使线性表的长度减1。,intDelList(SeqList*L,inti,ElemType*e)intk;if(iL-last+1)printf(删除位置不合法!);return(ERROR);*e=L-elemi-1;for(k=i;ilast;k+)L-elemk-1=L-elemk;L-last-;Return(OK);,例2-1有两个顺序表LA和LB,其元素均为非递减有序排列,编写一个算法,将它们合并成一个顺序表LC,要求LC也是非递减有序排列。例如LA=(2,2,3),LB=(1,3,3,4),则LC=(1,2,2,3,3,3,4)。,算法思想:设表LC是一个空表,为使LC也是非递减有序排列,可设两个指针i、j分别指向表LA和LB中的元素,若LA.elemiLB.elemj,则当前先将LB.elemj插入到表LC中;若LA.elemiLB.elemj,则当前先将LA.elemi插入到表LC中,如此进行下去,直到其中一个表被扫描完毕,然后再将未扫描完的表中剩余的所有元素放到表LC中。,voidmerge(SeqList*LA,SeqList*LB,SeqList*LC)inti,j,k,l;i=0;j=0;k=0;while(ilastelse,LC-elemk=LB-elemj;j+;k+;while(ilast)/*当表LA比表LB长时,则将表LA余下的元素赋给表LC*/LC-elemk=LA-elemi;i+;k+;while(jlast)LC-elemk=LB-elemj;j+;k+;LC-last=LA-last+LB-last;,顺序存储结构的优缺点优点逻辑相邻,物理相邻可随机存取任一元素存储空间使用紧凑缺点插入、删除操作需要移动大量的元素预先分配空间需按最大空间分配,利用不充分表容量难以扩充,作业:算法设计,设顺序表va中的数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论