0202数据结构线性表要点.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
0202数据结构线性表要点

2.2 线性表;2.1 线性表的定义;2. 线性表的形式定义;抽象数据类型 线性表List 的定义:;主要基本操作包括:;算法2.1,两个线性表La,Lb的合并。;La_len = ListLength ( La ); Lb_len = ListLength ( Lb );;例, La = (3,13,7,9) Lb = (5,7,10);算法2.2,两个有序线性表La,Lb的合并。;La_len = ListLength ( La ); Lb_len = ListLength ( Lb );;GetElem ( La,i++,a ); ListInsert( Lc,++k,a ) ;;例,La = ( 3, 5, 8 ) Lb = ( 2, 6, 8, 9, 15 );算法时间复杂度;2.2 线性表的顺序表示和实现;以元素在计算机内的“物理位置相邻”来表示线性表中数据元素之间的“逻辑关系相邻”。;线性表顺序存储结构表示;L.elem = ( ElemType * ) malloc ( LIST_INIT_SIZE * sizeof(ElemType) );;线性表的顺序存储结构的优缺点;算法2.4 在第 i 个数据元素之前插入一个新的元素;if ( i 1 || i L.length +1 ) return ERROR ;;// 越界处理;例,在第4个元素之前插入元素25。;算法时间复杂度:;假设pi是在第 i 个元素之前插入一个新元素的概率;算法2.5 删除第 i 个数据元素;if ( i 1 || i L.length ) return ERROR ;;例,删除第4个元素25。;算法时间复杂度:;假设qi是删除第 i 个元素的概率;2.3 线性表的链式表示和实现;结点: 两部分信息组成,存储数据元素信息的数据域,存储直接后继存储位置信息的指针域。;2.3.1 线性单链表;a1;线性表的链式存储结构的特点;例,取第i=3个元素。;优点:;算法2.9 在第 i 个数据元素之前插入一个新的元素;例,在第3个元素之插入一个新元素。;删除元素b :;算法2.10 删除第 i 个数据元素;例,删除第3个元素。;算法2.11 利用插入操作构造一条完整的单链表。;例,;算法2.12 将两个有序单链表合并为一个有序单链表;21;2.3.2 其他线性链表;zhao;zhao;2) 删除第2个结点;2. 循环链表;例,取循环链表第 i 个元素。;有时为了方便某些操作,通常在循环链表中设立尾指针。;3. 双向链表;A;1) 插入;2) 删除;;已知单链表A长度为m,单链表B长度为n,若将B联接在A的末尾,其时间复杂度应为( ) 。 A.O(1) B.O(m) C.O(n) D.O(m+n) 链表不具有的特点是( )。 A.可随机访问任一元素  B.插入???除不需要移动元素 C.不必事先估计存储空间  D.所需空间与线性表长度成正比;;;;; void?union?(LinkList?La,?LinkList?Lb) { ??//本算法的功能是将所有Lb表中存在而La表中不存在的结点插入到La表中 ??LinkList?pre?=?La,?q; ??LinkList?pa?=?La?-?next; ??LinkList?pb?=?Lb?-?next; ??free?(Lb); ?;?while?(pa??pb) ??{ ?? if?(pa?-?data?pb?-?data) ?? {??pre?=?pa;?pa?=?pa?-?next;} ?? else ?if?(pa?-?data??pb?-data) ?? { ?????????? (1)???????; ??? ?pre?=?pb; ???? pb?=?pb?-?next; ?????????? (2)???????; ?? } ?? else ?? { ???? q?=?pb;?pb?=?pb?-?next;?free?(q); ?? } ?? } ??if?(pb) ??????????(3)?????????; } ;

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档