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

第六章 树与二叉树-树的遍历1.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 树与二叉树 二叉树的遍历 任课教师:代丽 ( dlzist@163.com) 6.3 遍 历 二 叉 树 遍历二叉树是指以一定的次序访问二叉树中的每个结点, 并且每个结点仅被访问一次。 所谓访问结点是指对结点进行各种操作的简称。 遍历二叉树的过程实质是把二叉树的结点进行线性排列的过程。 二叉树的遍历次序 令LTR分别代表遍历左子树、 访问根结点和遍历右子树, 则对一棵二叉树的遍历可以有六种不同次序: LTR, LRT, TLR, TRL, RLT, RTL。 然而经常用到的总是先左(L)后右(R), 若再把访问根结点(T)的操作穿插其中, 则只有三种不同的遍历次序: LTR、 TLR 和 LRT。 例 子 6.3.1 先根遍历 先根遍历可以递归的描述如下:  如果根不空:  (1) 访问根结点;  (2) 按先根次序遍历左子树;  (3) 按先根次序遍历右子树;  否则返回。 图示如下: 先根遍历的递归算法 void preorder(Bnode *p) { if (p!=NULL) { printf (%6c\t”, p-data); /*访问根结点*/ preorder(p-lch); /*按先根次序遍历左子树*/ preorder(p-rch); /*按先根次序遍历右子树*/ } }/* preorder */ …….. main() { t=create(); preorder(t); } 说 明 还应注意对某根结点访问之后, 便对其左子树进行先根遍历, 随即进入下一层递归调用, 当返回本层调用时, 仍以本层根结点为基础对其右子树进行先根遍历。 当从下一层递归调用(先根遍历右子树)再次返回本层时, 接着就从本层调用返回到前一层调用。依此类推, 最终返回主调程序。 先序遍历二叉树的非递归算法 void preorder_Nonrecursive(Bnode t) { ??InitStack (S); ??Push (S,t); //根指针进栈 ??while (! StackEmpty (S)) ??{? while (Gettop (S,p) p) { ???printf(“%6c”, p-data); ?????? push (S , p-lch); ???? } //向左走到尽头 ???? pop(S,p); ???? if (! StackEmpty (S)) ???? { pop(S,p); ???? push(S,p-rch); //向右一步 ???? } ??} } //preorder_Nonrecursive 6.3.2 中根遍历 中根遍历可以递归的描述如下:  如果根不空:  (1) 按中根次序遍历左子树;  (2) 访问根结点;  (3) 按中根次序遍历右子树;  否则返回。 中根遍历递归算法 void inorder( Bnode *p) { if (p!=NULL) { inorder(p-lch); /* 中根遍历左子树 */ printf(%6c\t”, p-data); /* 访问根结束 */ inorder(p-rch); /* 中根遍历右子树 */ } } /* inorder */ 中根遍历非递归算法 void inorderz(Bnode *p) { struct node *s[10]; q=p; top=0; /* 栈顶指针 */ /*bool=1为真值继续循环; bool=0为假值栈空, 结束循环*/ bool=1;  printf(“\n 中根遍历:\n”); 中根遍历非递归算法 do{ while (q! =NULL) { top++; s[top]=q; q=q-lch; } if (top==0) bool=0;  else { q=s[top]; top- -;  p

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档