数据结构第五章2016.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第五章2016

* * * 寻查在行表中的插入位置, 第i行第j列前? for(q=M.rhead[i]; (q-right)(q-right-jj); q=q-right) for ( q=M.chead[j]; (q-down)(q-down-ii); q=q-down ); 寻查在列表中的插入位置,第i行第j列前? 总结 1、了解数组的两种存储表示方法(行、列),并掌握以行为主的存储结构中,地址的计算方法。 2、掌握对特殊矩阵进行压缩存储的下标变换公式。 3、了解稀疏矩阵的两种压缩存储方法的特点和适用范围,领会以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法 。 5.4 广义表的定义 广义表(Lists,又称列表)是线性表的推广。 在第2章中,我们把线性表定义为n=0个元素 a1,a2,a3,…,an的有限序列。线性表的元素仅 限于原子项; 原子是作为结构上不可分割的成分,它可以是一个数或一个结构; 若放松对表元素的这种限制,容许它们具有其自身结构,这样就产生了广义表的概念。 广义表是n(n=0)个元素a1,a2,a3,…,an的有限序列,其中ai或者是原子项,或者是一个广义表。 通常记作LS=(a1,a2,a3,…,an)。LS是广义表的名字,n为它的长度。若ai是广义表,则称它为LS的子表。 当广义表非空时,称第一个元素a1为LS的表头(Head),称其余元素组成的表( a2,a3,…,an)是LS的表尾(Tail)。 广义表的类型定义 ADT Glist { 数据对象:D={ei | i=1,2,..,n; n≥0; ei∈AtomSet 或 ei∈GList, AtomSet为某个数据对象 } 数据关系: LR={ei-1, ei | ei-1 ,ei∈D, 2≤i≤n} 基本操作: } ADT Glist ? 结构的创建和销毁 InitGList(L); DestroyGList(L); CreateGList(L, S); CopyGList(T, L); 基本操作 ? 状态函数 GListLength(L); GListDepth(L); GListEmpty(L); GetHead(L); GetTail(L); ? 插入和删除操作 InsertFirst_GL(L, e); DeleteFirst_GL(L, e); ? 遍历 Traverse_GL(L, Visit()); 广义表 LS = ( ?1, ?2, …, ?n )的结构特点: 广义表是一个多层次的线性结构 例如: D=(E, F) 其中: E=(a, (b, c)) F=(d, (e)) D E F a ( ) d ( ) b c e 2、广义表中的数据元素有相对次序; 3、广义表的长度定义为最外层包含元素个数; 例: A = ( ) 空表 ,长度为0 F = (d, (e)) 长度为2 D = ((a,(b,c)), F) 长度为2 C = (A, D, F) 长度为3 B = (a, B) = (a, (a, (a, ??? , ) ) ) 长度为2 D=(E, F) 4、广义表的深度定义为所含括弧的重数; 注意:“原子”如表A、A=e的深度为 0 ; 含原子的列表深度为 1 ;A=(e);   “空表”的深度为 1 。A=( ) 5、广义表可以共享; 6、广义表可以是一个递归的表。 广义表是递归定义的线性结构 递归表的深度是无穷值,长度是有限值。 7、 任何一个非空广义表 LS = ( ?1, ?2, …, ?n) 均可分解为 表头 Head(LS) = ?1 和 表尾 Tail(LS) = ( ?2, …, ?n) 两部分。 例如: D = ( E, F ) = ((a, (b, c)),F ) Head( D ) = Tail( D ) = Head( E ) = Tail( E ) = Head( (( b, c)) ) = Tail( (( b, c)) ) = Head( (

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档