




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
线性结构的特点:,第2章 线性表,2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.3.1 线性链表 2.3.2 循环链表 2.3.3 双向链表 2.4 一元多项式的表示及相加,其中数据元素的个数n定义为表的长度。 当n=0时称为空表,常常将非空的线性表(n0)记作: (a1,a2,an) 这里的数据元素ai(1in)只是一个抽象的符号,其具体含义在不同的情况下可以不同。,线性表(Linear List) :由 n (n0) 个数据元素 a1, a2, , an 组成的 有限并且有序的序列。,2.1 线性表的类型定义,例3、学生健康情况登记表如下:,线性表的抽象数据类型定义,2-1 利用两个线性表La和Lb分别表示两个集合A和B,现要求一个新的集合A=AB。,void union(List if(!LocateEem(La,e,equal) ListInsert(La,+La_len,e) ,例2-2 巳知线性表La和线性表Lb中的数据元素按值非递减有序排列,现要求将La和Lb归并为一个新的线性表Lc,且Lc中的元素仍按值非递减有序排列。,void mergelist(list La,list Lb,list ,while(i=La_len) GetElem(La,i+,ai); ListInsert(Lc,+k,ai); while(j=Lb_len) GetElem(Lb,j+,bj); ListInsert(Lc,+k,bi); ,2.2 线性表的顺序表示和实现,线性表的顺序表示:在计算机中用一组地址连续的存储单元 依次存储线性表的各个数据元素,称作线性表的顺序存储结构或 顺序映象。用这种方法存储的线性表称作顺序表。,顺序表的特点:,以物理位置相邻表示逻辑关系。,任一元素均可随机存取。,顺序表的优点:,顺序表中数据元素存储位置的计算:,所有数据元素的存储位置均可由第一个数据元素的存 储位置得到: LOC(ai ) = LOC(a1) + (i -1) l,顺序表存储结构示意图,用数组表示线性表的顺序存储结构:,在高级程序设计语言中,通常利用数组来表示线性表的顺序 存储结构。这是因为数组具有如下特点: (1)、数组中的元素间的地址是连续的,有随机存取的特点; (2)、数组中所有元素的数据类型是相同的。 而这与线性表的顺序存储空间结构是类似的。,typedef struct ElemType dataMaxSize; int length; SqList; /*顺序表类型*/ 其中,data成员存放元素, length成员存放线性表的实际长度。 说明:由于C/C+中数组的下标从0开始,线性表的第i个元素ai存放顺序表的第i-1位置上。为了清楚,我们ai在逻辑序列中的位置称为逻辑位序,在顺序表中的位置称为物理位序。,顺序表的存储结构,2.2.2 顺序表基本运算的实现,一旦采用顺序表存储结构,我们就可以用C/C+语言实现线性表的各种基本运算。,该运算的结果是构造一个空的线性表L。,1 初始化线性表InitList(L),本算法的时间复杂度为O(1)。,该方法是将给定的含有n个元素的数组的每个元素依次放入到顺序表中,并将n赋给顺序表的长度成员。,2 建立顺序表,void CreateList(SqList ,该方法在顺序表L的第i个位置(1iListLength(L)+1)上插入新的元素e。,3 插入数据元素ListInsert(L,i,e),插入数据元素算法实现,删除顺序表L中的第i(1iListLength(L)个元素。 如果i值不正确,则显示相应错误信息;否则将线性表第i个元素以后元素均向前移动一个位置,这样覆盖了原来的第i个元素,达到删除该元素的目的,最后顺序表长度减1。,4 删除数据元素ListDelete(L,i,e),删除数据元素算法实现,顺序表插入算法的时间复杂度分析,由此可见,在顺序表上做插入运算,平均要移动表上一半元 素。当表长 n 较大时,算法的效率相当低。算法的平均时间复杂 度为 O(n)。,算法的复杂度分析:,假设在表中任何位置(1 i n+1)上插入结点的机会是均等的, 则,假设在表中任何位置(1 i n)删除结点的机会是均等的,则,由此可见,在顺序表上做删除运算,平均约要移动表上一半 元素。当表长 n 较大时,算法的效率相当低。算法的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025赤峰新正电工技术服务有限公司面向社会招聘69人考前自测高频考点模拟试题及答案详解一套
- 2025年新乡市诚城卓人学校招聘教师若干名考前自测高频考点模拟试题及一套参考答案详解
- 2025年攀枝花市盐边县事业单位春季引才考核的考前自测高频考点模拟试题及答案详解(典优)
- 2025黑龙江鸡西市社会治安综合治理中心招聘公益性岗位1人考前自测高频考点模拟试题及答案详解(名校卷)
- 贵州国企招聘2025贵州金融控股集团有限责任公司招聘27人笔试历年参考题库附带答案详解
- 浙江国企招聘2025宁波市轨道交通物产置业有限公司下属项目公司社会招聘2人笔试历年参考题库附带答案详解
- 2025陕西汉德车桥有限公司招聘笔试历年参考题库附带答案详解
- 2025重庆电子口岸中心劳务派遣人员招聘笔试历年参考题库附带答案详解
- 2025郑煤机春季招聘笔试历年参考题库附带答案详解
- 2025资兴市湖南东江湖食材供应链有限公司招聘工作人员14人笔试历年参考题库附带答案详解
- 抖音带货考试题目及答案内衣
- 2025四川能投合江电力有限公司员工招聘11人笔试备考题库及答案解析
- 2026届广州市高三年级阶段训练(8月市调研摸底) 数学试卷(含答案解析)
- 医院非暴力沟通小讲课
- 2025至2030年中国山西省房地产行业发展监测及投资前景展望报告
- 第4课洋务运动与边疆危机(任务型导学案)(原卷版)
- 创建文明班级班会课件
- 2025年新修订治安管理处罚法课件
- 社会渠道支撑管理制度
- DBJ50-T-047-2024 建筑地基基础设计标准
- 呼吸科出科小讲课
评论
0/150
提交评论