数据结构:第6章树B.pptVIP

  • 6
  • 0
  • 约1.41万字
  • 约 33页
  • 2021-11-03 发布于安徽
  • 举报
6.3.2 线索二叉树 为识别复用的两种不同信息,特增加两个标志域: 1. 有关线索二叉树的几个术语: 例:带了两个标志的某先序遍历结果如下表所示,请画出对应的二叉树。 例1:画出以下二叉树对应的中序线索二叉树。 例2:【 2000年计算机系考研题】给定如图所示二叉树T,请画出与其对应的中序线索二叉树。 线索二叉树的生成算法(递归算法见教材P134-135) 3. 线索二叉树的遍历(无需堆栈) 附:中序线索二叉树遍历步骤 (算法6.5): 算法流程: 对于线索二叉树的遍历,只要找到序列中的第一个结点,然后依次访问结点的后继直到后继为空为止。 (因为建立线索时已遍历一次,相当于线性化了!) 难点:在线索化二叉树中,并不是每个结点都能直接找到其后继的,当标志为0时,则需要通过一定运算才能找到它的后继。 以中序线索二叉树为例: 当RTag=1时,直接后继指针就在其rchild域内; 当RTag=0时,直接后继是当前结点右子树最左下方的结点; 请注意中序遍历规则是LDR,先左再根再右 5)当RTag=0时(表示有右孩子) ,此时应当从该结点的右孩子开始(p=p-rchild)查找左下角的子孙结点;即重复2) 1)设置一个搜索指针p; 2)先寻找中序遍历之首结点(即最左下角结点),方法是:当LTag=0时(表示有左孩子),p=p-lchild; 直到LTag=1(无左孩子,已到最左下角

文档评论(0)

1亿VIP精品文档

相关文档