二基本数据结构及其运算.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文档。上传文档
查看更多
二基本数据结构及其运算

顺序表操作的特点: 2.3.2 线性链表的基本运算 ⑵.十字链表 十字链表是稀疏矩阵的的一种较好的存储方法,在该方法中,每一个非零元素用一个结点表示,结点中除了表示非零元素所在的行、列和值的三元组(i,j,v)外,还需增加两个链域:行指针域(rptr),用来指向本行中下一个非零元素;列指针域(cptr),用来指向本列中下一个非零元素。稀疏矩阵中同一行的非零元素通过向右的rptr指针链接成一个链表。同一列的非零元素也通过cptr指针链接成一个链表。因此,每个非零元素既是第i行链表中的一个结点,又是第j列链表中的一个结点,相当于处在一个十字交叉路口,故称这种链表为十字链表。 十字链表结点 向右域 向下域 值域 列域 行域 row col val down right 指向本行下一个元素 指向本列下一个元素 另外,为了运算方便,我们规定行、列循环链表的表头结点和表示非零元素的结点一样,也定为五个域,且规定行、列、域值为0,并且将所有的行、列链表和头结点一起链成一个循环链表。 在行(列)表头结点中,行、列域的值都为0,故两组表头结点可以共用,即第i行链表和第i列链表共用一个表头结点,这些表头结点本身又可以通过V域(非零元素值域,但在表头结点中为next,指向下一个表头结点)相链接。另外,再增加一个附加结点(由指针H指示,行、列域分别为稀疏矩阵的行、列数目),附加结点指向第一个表头结点,则整个十字链表可由H指针惟一确定。 4 5 3 0 0 7 0 0 1 0 2 0 0 4 0 0 0 0 0 0 0 9 1 2 3 4 5 1 2 3 4 例:如图稀疏矩阵的十字链表描述形式: 7 4 1 3 1 1 4 4 3 0 0 0 0 0 0 1 3 2 9 4 5 2 1 3 0 0 0 0 0 0 H 0 0 0 0 0 0 0 0 在表头结点中,行、列域的值都为0,故两组表头结点可以共用,即第i行链表和第i列链表共用一个表头结点,这些表头结点本身又可以通过V域相链接。再增加一个表头结点H,则整个十字链表可由H指针惟一确定 2.5 树与二叉树 树是一种简单的非线性结构,在树这种数据结构中,所有数据元素之间的关系具有明显的层次特性。如图,可用于描述具有层次关系的数据。如学校行政关系结构(P114图2.40) A B C D E F G I H J 2.5.1 树的基本概念 1、定义:树是由n个(n0)具有相同类型的结点 元素组成的有限集合,且满足以下的条件: 1)其中有一个结点无直接前驱,称为根(Root); 2)其余的结点元素可分为m个互不相交的子集T1,T2…Tm,这m个子集本身又构成树,称为Root的子树。 上右图所示为一棵树,其中A为根,它有三棵子树:T1={B,E,F};T2={C,G,H,I,J};T3={D} 在子树T2中,C是该子树的根,它有三棵子树:T21={G};T22={H};T23={I,J};T22和T21仅有一个根结点,没有子树。 注意:(1)树的定义中n0,即没有空树的概念; (2)树的定义中采用了递归定义的方法,显示了树结构本身的这种递归的性质。 2、树的有关术语 A B C D E F G I H J 根结点、父结点、子结点、叶子结点、 内部结点或分支结点(度不为0的结点) 兄弟结点(具有同一父结点的子结点称为兄弟结点) 结点的度、树的度,树的深度、子树 森林:是m(m0)棵树的集合 有序树 树中结点在同层中按从左到右有序排 列, 不能互换的树称有序树,反之称无序树 例: ((a+(b+c/d))+(e*h-g*f(s,t,x+y)) 的表达式树 3、可用树型结构描述一个表达式: 用操作数代表树叶,运算符代表非 叶子结点,所构成的树称表达式树。 编译系统中常用的表达式 表示方法。表达式树是有 序树,结点顺序不可更改。 + b + a - c d / + * e h + x y * g f t s 树在计算机中可用多重链表表示,即每个结点有多个指针域,每个指针域指向它的一个子结点,每个结点的指针域数由该结点的度确定 4、树的存储 Linkn … Link2 Link1 度 值 A B C D E F G 例: A B C D E F G 3 2 1 0 0 0 0 BT 1、定义:二叉树是由n个(n ?0)具有相同类型的结点元 素组成的有限集合,且满足以下的条件: (1)由一个根结

文档评论(0)

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

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

1亿VIP精品文档

相关文档