2020考研计算机备考:如何在线索树中找结点的后继?
2019.07.11 17:34

  2020年计算机考研复习已经开始,新东方在线在此整理了2020考研计算机备考:如何在线索树中找结点的后继?,希望能帮助大家!

  (1)中序线索树中找结点的后继

  ①树中所有叶子结点的右链是线索,则右链域直接指示了结点的后继。

  ②树中所有非终端结点的右链均为指针,根据中序遍历的规律,结点的后继应是遍历其右子树时访问的第一个结点,即右子树中最左下的结点。

  反之,在中序线索树中找结点前驱的规律是:若其左标志为“1”,则左链为线索,指示其前驱,否则遍历左子树时最后访问的一个结点(左子树中最右下的结点)为其前驱。

  (2)后序线索树中找结点后继

  ①若结点x是二叉树的根,则其后继为空;

  ②若结点x是其双亲的右孩子或是其双亲的左孩子且其双亲没有右子树,则其后继即为双亲结点;

  ③若结点x是其双亲的左孩子,且其双亲有右子树,则其后继为双亲的右子树上按后序遍历列出的第一个结点。

  可见,在后序线索化树上找后继时需知道结点双亲,即需带标志域的三叉链表作存储结构。

  最后给大家留一个题目,希望可以帮助各位小伙伴们检验一下知识点的掌握情况。

  二叉树在线索化后,仍不能有效求解的问题是( )。

  A.先序线索二叉树中求先序后继

  B.中序线索二叉树中求中序后继

  C.中序线索二叉树中求中序前驱

  D.后序线索二又树中求后序后继

  在这里我们对一下正确选项:D。简单分析一下:不是每个结点通过线索都可以直接找到它的前驱和后继。在先序线索二叉树中查找一个结点的先序后继很简单,而查找先序前驱必须知道该结点的双亲结点。中序线索二叉树中根据中序遍历的规律查找中序前驱和中序后继也是很方便的。同样,在后序线索二叉树中查找一个结点的后序前驱也很简单,而查找后序后继也必须知道该结点的双亲结点,而二叉链表中没有存放双亲的指针。


MORE+

    相关阅读 MORE+

    版权及免责声明
    1.凡本网注明"稿件来源:新东方在线"的所有文字、图片和音视频稿件,版权均属北京新东方迅程网络科技有限公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本网协议授权的媒体、网站,在下载使用时必须注明"稿件来源:新东方在线",违者本网将依法追究责任。
    2.本网末注明"稿件来源:新东方在线"的文/图等稿件均为转载稿,本网转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。如擅自篡改为"稿件来源:新东方在线”,本网将依法追究责任。
    3.如本网转载稿涉及版权等问题,请作者致信weisen@xdfzx.com,我们将及时外理

    Copyright © 2011-202

    All Rights Reserved