- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]数据结构与算法C语言版第二章
第二章 线性表 内容提要 线性表的类型定义 线性表的顺序表示与实现 线性表的链式表示与实现 一元多项式的表示及相加 小结 什麽是线性表 定义:n( ? 0)个数据元素的有限序列,记作(a1, a2, …, an) ai 是表中数据元素,n 是表长度。 英文小写字母表(a,b,c,…,z)是一个长度为26的线性表。 一年中的四个季节(春,夏,秋,冬)是一个长度为4的线性表。 学生情况登记表是一个复杂的线性表。 由若干数据项组成的数据元素称为记录(record),由多个记录构成的线性表又称为文件(file)。 线性表的特点 线性表(linear list)是一种最简单、常用的数据结构,通常一个线性表是由n(n≥0)个性质相同的数据元素组成的有限序列。线性表的长度即为线性表中元素的个数n(n≥0),当n=0时,称为空表。 非空线性表结构特征: (1)有且只有一个首结点a1,它无前驱; (2)有且只有一个尾结点an,它无后继; (3)其它所有结点有且只有一个前驱,也有且只有一个后继。 线性表中的数据元素可以是各种各样的,但同一表中的元素必定具有相同特性。 抽象数据类型线性表的定义 线性表数据结构: List=(D,R) 数据对象: D={ ai| ai∈Elemtype,i=1,2,…,n,i=1} 数据关系: R={ ai-1,ai| ai-1,ai,∈D,i=2,3,…,n} 。 抽象数据类型线性表的定义:见P19。 线性表的应用举例 联合算法:见P20算法2.1 归并算法:见P21算法2.2 补充归并算法: Void MergeList(List *LA,List *LB,List*LC) { /*已知线性表LA和LB中的数据元素按值非递减排列。*/ /*归并LA和LB得到新的线性表LC,LC的数据元素也按值非递减排列。*/ InitList(LC);/*构造一个空的线性表LC*/ i=j=1;k=0;/*指针i和j初始值为1*/ LA_len=ListLength(LA); LB_len=ListLength(LB); while((i=LA_len)(j<=LB_len)) 线性表的应用举例 { /* LA和LB均非空*/ GetElem(LA,i,ai); GetElem(LB,j,bj); if(ai<bj) { ListInsert(LC,++k,ai);++i;}/*LA的元素插入到表LC中*/ else if (ai=bj) { ListInsert(LC,++k,bj);++i;++j;} else { ListInsert(LC,++k,bj);++j;} } while(i =LA_len){ /*如果LA完,则将表LA中的所剩元素插入到表LC中*/ GetElem(LA,i++,ai); ListInsert(LC,++k,ai); 线性表的应用举例 } while(j<=LB_len) { GetElem(LB,j++,bj); ListInsert(LC,++k,bj); } }/*MergeList*/ 判断下面算法有何功能: PURGE(LA)/**/ List *LA; { int i=1,k,x,y; while(ilength(LA)) /**/ { 线性表的应用举例 x=get(LA,i); k=i+1; while(k=length(LA)) { y=get(LA,K);/**/ if(x==y) Delete(LA,k);/**/ else k++; } i++; } }/**/ 内容提要 线性表的类型定义 线性表的顺序表示与实现 线性表的链式表示与实现 一元多项式的表示及相加 小结 线性表的顺序表示 线性表的顺序表示就是: 把线性表的各个数据元素依次存储在一组地址连续的存储单元里。线性表的这种机内表示称为线性表的顺序映像或线性表的顺序存储结构,用这种方法存储的线性表简称为顺序表。 假设线性表的每个元素需占用L个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i+1个数据元素的存储位置LOC(ai+1)和第i个数据元素的存储位置LOC(ai)之间满足下列关系: LOC(ai+1)=LOC(ai)+L 线性表的顺序表示 一般来说,线性表的第i个数据元素ai的存储位置为: LOC(ai)=LOC(a1)+(i-1)*L,式中LOC(a1)是线性表的第一个数据元素a1的存储位置,通常称做线性表的起始位置或基地址。 顺序表的特点是,为表中相邻的元素ai 和ai+1分配相邻的存储位置。只要确定存储线性表的起始位置LOC(a1),线性表中任一数据元素都可随机存取,所以线性表的顺序存储结
您可能关注的文档
最近下载
- 生产经营单位生产安全事故应急预案编制导则GB/T29639-2020 .pptx VIP
- 唯一住房补贴申请书模板.docx VIP
- 员工花名册(自带公式).xlsx VIP
- 第三章交强险.pptx VIP
- 预防校园欺凌主题班会课件(共23张PPT).pptx VIP
- 《管理会计学》教案全套 孙茂竹 第1--12章 管理会计概论--- 管理会计报告.docx
- 顾客异议的类型.ppt VIP
- 预应力管桩试桩方案.doc VIP
- 北京宜通cl-06c六轴控制器说明书.pdf VIP
- 中职英语高教版(2025)基础模块2 Unit 1 Travel 单词课件(共61张PPT)(含音频+视频).pptx VIP
文档评论(0)