数据结构与算法(Python语言描述)课件2.ppt_第1页
数据结构与算法(Python语言描述)课件2.ppt_第2页
数据结构与算法(Python语言描述)课件2.ppt_第3页
数据结构与算法(Python语言描述)课件2.ppt_第4页
数据结构与算法(Python语言描述)课件2.ppt_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

第三章线性表,2016Fall数据结构,内容提要,线性结构线性表的类型定义线性表的顺序表示和实现线性表的链式表示和实现,线性结构,学生信息表通讯录短信、聊天记录邮件列表购物清单账单,何处用到线性结构?,相邻的元素组成前驱与后继关系,线性表,线性表的逻辑结构,线性表,线性表是n个数据元素的有限序列。一般形式:(a1,ai-1,ai,ai+1,an)直接前驱、直接后继长度:表中元素的个数n(n=0时称为空表)非空表中,每个元素都有一个确定的位置,结构+操作结构的创建、结构的销毁:构造与析构引用型(访问型):get加工型(改变型):set,线性表抽象数据类型?,ADTList数据对象:Dai|aiElemSet,i=1,2,.,n,n0数据关系:R1|ai-1,aiD,i=2,.,n基本操作:InitList(/存储空间基址intlength;/当前长度intlistsize;/当前分配的存储容量List;,顺序存储结构的表示,2020/5/30,数学科学学院,21,StatusInitList(List,顺序存储时基本操作的实现,【结构的销毁没有空间了!】voidDestroyList(List,/引用型voidTraverseList(ListL,void(*visit)(ElemType)for(i=0;iL.length;i+)(*visit)(L.elemi);/加工型map操作!voidTraverseList(List/注意引用参数的使用!,StatusGetElem(ListL,inti,ElemType,intLocateElem(ListL,ElemTypee,Status(*compare)(ElemType,ElemType)/起步i=1;p=L.elem;/在有效范围内查询while(i=L.length,intLocateElem(ListL,ElemTypee,Status(*compare)(ElemType,ElemType)/起步i=1;/在有效范围内查询while(i=i;j-)L.elemj=L.elemj-1;/插入e,修改表长L.elemi-1=e;+L.length;returnOK;,【指针方式的元素移动、插入,有些难以阅读。】/从插入位置开始向后的元素,自后向前依次后移q=,删除操作:StatusDeleteList()删除前的线性表:(a1,ai-1,ai,ai+1,an)删除后的线性表:(a1,ai-1,ai+1,an)时间复杂度:最坏和平均的情况O(n)逻辑关系发生了变化,StatusDeleteList(List,/两个表的有序归并/此处作为List类型的基本操作直接定义!voidMergeList(ListLa,ListLb,List,/有序归并while(pa=pa_last时间复杂度:O(La.Leng

温馨提示

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

评论

0/150

提交评论