网站大量收购闲置独家精品文档,联系QQ:2885784924

基本术语 二元树 树 森林与二元树间的转换.ppt

基本术语 二元树 树 森林与二元树间的转换.ppt

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

THTREE INNEXT( THTREE p) THTREE p ; { THTREE Q ; Q=p-rchild ; if (p-rtag = = 1 ) while(Q-ltag = = 1) Q = Q-lchild ; return ( Q ) ; } 例一:求p$(中序后继): 分析:(1) 当p-rtag = 0时,p-rchild 既为所求(线索)。 (2) 当p-rtag = 1时,p$为p的右子树的最左结点。 THTREE INPRE( THTREE p) THTREE p ; { THTREE Q ; Q=p-lchild ; if (p-ltag = = 1 ) while(Q-rtag = = 1) Q = Q-rchild ; return ( Q ) ; } 例二:求$p(中序前驱): 分析:(1) 当p-ltag = 0时,p-lchild 既为所求(线索)。 (2) 当p-ltag = 1时,$p为p的左子树的最右结点。 p $p p $p 例三:利用INNEXT算法,中序遍历线索二元树。 Void THINORDER( THTREE HEAD) { THTREE temp ; temp = HEAD ; do { temp = INNEXT ( temp ) ; if ( temp != HEAD ) visit ( temp - data ) ; } while ( temp != HEAD ) ; } head-lchild = T head-rchild = head ; head-ltag = 1 ; head-rtag = 1 ; 而在线索树中结点的插入与删除则不同,因为要同时考 虑修正线索的操作。 在二元树中一般不讨论结点的插入与删除,原因是其插 入与删除的操作与线性表相同,所不同的是需要详细说明操 作的具体要求。 例:将结点 p 插入作为结点 S 的右孩子结点。 (1)若S的右子树为空,插入比较简单; (2)若S的右子树非空,则 p 插入后 原来 S 的右子树 作为 p 的右子树 操作: Void RINSERT ( THTREE S , THTREE R ) { THTREE W ; R-rchild = S-rchild ; R-rtag = S-rtag ; R-lchild = S ; R-ltag = 0 ; S-rchild = R ; S-rtag = 1 ; if ( R-rtag == 1 ) { w = INNEXT( R ) ; w-lchild = R ; } } 4.2.4 二元树的复制 二元树的相似与等价 两株二元树具有相同结构指: (1)它们都是空的 ; (2)它们都是非空的,且左右子树分别具有相同结构。 定义具有相同结构的二元树为相似二元树。 相似且相应结点包含相同信息的二元树称为等价二元树。 “形状”相同 判断两株二元树是否等价 int EQUAL( firstbt , secondbt ) BTREE firstbt , secondbt ; { int x ; x = 0 ; if ( ISEMPTY(firstbt) ISEMPTY(secondbt) ) x = 1 ; else if ( !ISEMPTY( firstbt ) ! ISEMPTY( secondbt ) ) if ( DATA( firstbt ) == DATA( secondbt ) ) if ( EQUAL( LCHILD( firstbt ) , LCHILD( secondbt ) ) ) x= EQUAL( RCHILD( firstbt ) , RCHILD( secondbt) ) return( x ) ; } /* EQUAL */ 二元

文档评论(0)

jixujianchi + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档