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

第6讲c语言4.ppt

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

树、森林的遍历和二叉树遍历的对应关系? 先根遍历 后根遍历 树 森林 先根遍历 中根遍历 二叉树 先根遍历 中根遍历 第31页/共31页 第六章 树和二叉树 Status CreateBiTree(BiTree T) { scanf(ch); if (ch== ) T = NULL; else { if (!(T = (BiTree)malloc(sizeof(BiTnode)))) exit(OVERFLOW); T-data = ch; // 生成根结点并赋值 CreateBiTree(T-lchild); // 创建左子树 CreateBiTree(T-rchild); // 创建右子树 } return OK; } // CreateBiTree 算法6.4 第1页/共31页 上页算法执行过程举例如下: A T B C D ^ ^ ^ ^ ^ scanf(ch); if (ch== ) T = NULL; else { if (!(T = (BiTree)malloc(sizeof(BiTnode)))) exit(OVERFLOW); T-data = ch; // 生成根结点并赋值 CreateBiTree(T-lchild); // 创建左子树 CreateBiTree(T-rchild); // 创建右子树 以下列字符串表示的二叉树 AB C D 第2页/共31页 A B C D E A B D C E T 先序序列:ABCDE 先序线索二叉树 0 0 0 0 1 1 1 1 ^ 1 1 T 中序序列:BCAED 中序线索二叉树 A B D C E 0 0 0 0 1 1 1 1 ^ 1 1 ^ 6. 3.2 线索二叉树 P132-133 第3页/共31页 (1)定义: 前驱与后继:在二叉树的先序、中序或后序遍历序列 中两个相邻的结点互称为~ 线索:指向前驱或后继结点的指针称为~ 线索二叉树:加上线索的二叉树为~ 线索链表:加上线索的二叉树的二叉链表表示为~ 线索化:对二叉树按某种遍历次序使其变为线索二叉 树的过程叫~ (2)实现: 对线索链表中结点的约定,在二叉链表的结点中增加两个标志域LTag, RTag ,并作如下规定: 第4页/共31页 1)若该结点的左子树不空,则Lchild域的指针指向其左子树,且左标志域LTag的值为 “链Link”(0); 否则,Lchild域的指针指向其“前驱”,且左标志LTag的值为“线索 Thread”(1) 。 2)若该结点的右子树不空,则rchild域的指针指向其右子树,且右标志域RTag的值为 “链Link”(0 ); 否则,rchild域的指针指向其“后继”, 且右标志RTag的值为“线索 Thread”(1)。 如此定义的二叉树的存储结构称作“线索链表” 第5页/共31页 typedef struct BiThrNode{ TElemType data; struct BiThrNode *lchild, *rchild; // 左右孩子指针 PointerTag LTag, RTag; // 左右标志 } BiThrNode, *BiThrTree; 线索链表的类型描述: typedef enum { Link, Thread } PointerTag; // Link==0:指针,Thread==1:线索 lchild LTag data Rtag rchild 线索链表结点结构: 第6页/共31页 (3)线索链表的遍历算法: A B D C E T 中序序列:BCAED 中序线索二叉树 0 0 0 0 1 1 1 1 ^ 1 1 ^ A B C D E 0 A 0 1 B 0 0 D 1 1 C 1 1 E 1 T 中序序列:BCAED 带头结点的中序线索二叉树 0

文档评论(0)

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

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

1亿VIP精品文档

相关文档