数据结构与算法国家级双语教学示范课程配套教材彭军向毅Chap6tree课件教学.pptVIP

数据结构与算法国家级双语教学示范课程配套教材彭军向毅Chap6tree课件教学.ppt

  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文档。上传文档
查看更多
数据结构与算法国家级双语教学示范课程配套教材彭军向毅Chap6tree课件教学.ppt

如果对一棵有n个结点的接近完全二叉树(其深度为log2n+1,下取整)的结点按层序编号(从第1层到第log2n+1层,每层从左到右),则对任一结点i(1≤i≤n),有 (1)如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则其双亲PARENT(i)是结点[ i/2]。 (2)如果2i>n,则结点i无左孩子(结点i为叶子结点);否则其左孩子LCHILD(i)是结点2i (3)如果2i+l>n,则结点i无右孩 子;否则其右孩子只RCHILD(i) 是结点2i+1 * 按照顺序存储结构的定义,在此约定,用一组地址连续的存储单元依次自上而下、自左至右存储完全二叉树上的结点元素,即将完全二叉树上编号为i的结点元素存储在如上定义的一维数组中下标为i-1的分量中。 对于一般二叉树,则应将其每个结点与完全二叉树上的结点相对照,存储在一维数组的相应分量中。图中以“0”表示不存在此结点。 这种顺序存储结构仅适用于完全二叉树。因为,在最坏的情况下,一个深度为k且只有k个结点的单支树(树中不存在度为2的结点)却需要长度为2k-1的一维数组。 * Traditionally, the subtree pointers are simply called left and right * 注意:有的文献也称先序为前序; 中序为对称序 Traditional designation: N- root, L-leftsubtree, R-right subtree We can define 6 different depth –first traversal sequences. Computer scientist have assigned three of these sequences standard names in the literature * The inorder traversal produces the infix expression The postorder traversal produces the postfix expression The preorder traversal produces the prefix expression * Note: root of the tree and each of its subtree represent a subexpression , so print (: when we start a tree or subtree ): when we have processed all of its children * Operation : scan from left one to right, when meet + ,do b+c=x, we get ax*d+ , continue,meet * , do a*x=y , get yd+, continue, y+d, this is the result. * Operation : scan from left one to right, when meet b c ,do b+c=x, we get + * a x d , continue, meet a x , do a*x=y , get + y d, continue, y+d, this is the result. * * 对二叉树以某种次序遍历使其变为线索二叉树的过程叫做线索化。 在线索树上进行遍历,只要先找到序列中的第一个结点.然后依次找结点后继直至其后续为空时而止。 如何在线索树中找结点的后继? 树中所有叶子结点的右链是线索,则右链域直接指示了结点的后继。 树中所有非终端结点的右链均为指针,则无法由此得到后继的信息。然而,根据中序遍历的规律可知,结点的后继应是遍历其右子树时访问的第一个结点,即右子树中最左下的结点。 反之,在中序线索树中找结点前驱的规律是:若其左标志为“1”,则左链为线索,指示其前驱,否则遍历左子树时最后访问的一个结点(左子树中最右下的结点)为其前驱。 * * Example: the bill of materials * 一、双亲表示法 假设以一组连续空间存储树的结点,同时在每个结点中附设一个指示器指示其双亲结点在表中的位置: 这种存储结构利用了每个结点(除根以外)只有唯一的双亲的性质。 求双亲操作可以在常量时间内实现。 反复调用求双亲操作,直到遇见无双亲的结点时,便找到了树的根,这就是求根操作的执行过程。 但是,在这种表示法中,求结点的孩子时需要遍历整个结构。 *

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档