第六章数据.ppt

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

6.4 二叉树的遍历 一、问题的提出 二、先左后右的遍历算法 三、算法的递归描述 四、中序遍历算法的非递归描述 五、遍历算法的应用举例 顺着某一条有哪些信誉好的足球投注网站路径巡访二叉树 中的结点,使得每个结点均被访问一 次,而且仅被访问一次。 一、问题的提出 “访问”的含义可以很广,如:输出结 点的信息等。 “遍历”是任何类型均有的操作, 对线性结构而言,只有一条有哪些信誉好的足球投注网站路 径(因为每个结点均只有一个后继), 故不需要另加讨论。而二叉树是非 线性结构, 每个结点有两个后继, 则存在如何遍历即按什么样的有哪些信誉好的足球投注网站 路径遍历的问题。 对“二叉树”而言,可以有三条有哪些信誉好的足球投注网站路径: 1.先上后下的按层次遍历; 2.先左(子树)后右(子树)的遍历; 3.先右(子树)后左(子树)的遍历。 二、先左后右的遍历算法 先(根)序的遍历算法 中(根)序的遍历算法 后(根)序的遍历算法 若二叉树为空树,则空操作;否则, (1)访问根结点; (2)先序遍历左子树; (3)先序遍历右子树。 先(根)序的遍历算法: 1 2 4 5 3 6 124536 若二叉树为空树,则空操作;否则, (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 中(根)序的遍历算法: 1 2 4 5 3 6 425136 若二叉树为空树,则空操作;否则, (1)后序遍历左子树; (2)后序遍历右子树; (3)访问根结点。 后(根)序的遍历算法: 1 2 4 5 3 6 452631 三、算法的递归描述 Status Preorder (BiTree T, Status( *visit)(TElemType e)) { // 先序遍历二叉树 if (T) { if((*visit)(T-data)) // 访问根结点 if(Preorder(T-lchild, visit)) // 遍历左子树 if(Preorder(T-rchild, visit))// 遍历右子树 return OK; return ERROR; }else return OK; } //PreorderTraverse 1 2 4 5 3 6 void Preorder (BiTree T, void ( *visit)(TElemType e)) { // 先序遍历二叉树 if (T) { (*visit)(T-data); // 访问根结点 Preorder(T-lchild, visit); // 遍历左子树 Preorder(T-rchild, visit); // 遍历右子树 } } //PreorderTraverse 同理,中序遍历如下: void InOrderTraverse(BiTreeT, void(* visit)(TElemType)){ if(T){ InOrderTraverse(T-lchild,visit); (*visit)(T-data); InOrderTraverse(T-rchild,visit); } } 后序遍历呢 ? 四、中序遍历算法的非递归描述 BiTNode *GoFarLeft(BiTree T, Stack S){ if(!T) return NULL; while(T-lchild){ Push(S, T); T=T-lchild; } return T; }//找到T树中最左孩子的指针,用指针T返回 //非递归中序遍历的算法 void InOrderTraverse(BiTree T, void(*visit)(TElemType e)){ Stack S; t=GoFarLeft(T,S); //找到最左下的结点 while(t) { visit(t-data); if(t-rchild) t=GoFarLeft(t-rchild, S); else if(!StackEmpty(S)) //栈不空时退栈

文档评论(0)

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

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

1亿VIP精品文档

相关文档