不少人对2021计算机考研:如何在线索树中找结点的后继?有疑问,文加考研学长对这个问题很有研究,为大家提出以下几点分析,希望能帮助到大家。如果大家在考研复习、考研辅导等等考研相关方面还有疑问,欢迎添加文加考研学长微信wjky66免费咨询,现在就让我们来解答下大家的疑惑吧。
对于打算报考2021考研计算机的考生们来说复习是难点,很多本专业或者跨专业的学生在备考考研数据结构中经常遇到一个难点问题,如何在线索树中找结点的后继?虽然有些题目设置的灵活多变,有的时候甚至可能分析不出来题目的考点在这里。下面小编整理了详细内容,供大家参考。
如何在线索树中找结点的后继?
(1)中序线索树中找结点的后继
①树中所有叶子结点的右链是线索,则右链域直接指示了结点的后继。
②树中所有非终端结点的右链均为指针,根据中序遍历的规律,结点的后继应是遍历其右子树时访问的第一个结点,即右子树中最左下的结点。
反之,在中序线索树中找结点前驱的规律是:若其左标志为“1”,则左链为线索,指示其前驱,否则遍历左子树时最后访问的一个结点(左子树中最右下的结点)为其前驱。
(2)后序线索树中找结点后继
①若结点x是二叉树的根,则其后继为空
②若结点x是其双亲的右孩子或是其双亲的左孩子且其双亲没有右子树,则其后继即为双亲结点
③若结点x是其双亲的左孩子,且其双亲有右子树,则其后继为双亲的右子树上按后序遍历列出的第一个结点。
可见,在后序线索化树上找后继时需知道结点双亲,即需带标志域的三叉链表作存储结构。
最后给大家留一个题目,希望可以帮助各位小伙伴们检验一下知识点的掌握情况。
二叉树在线索化后,仍不能有效求解的问题是( )。
A.先序线索二叉树中求先序后继
B.中序线索二叉树中求中序后继
C.中序线索二叉树中求中序前驱
D.后序线索二又树中求后序后继
小伙伴们,看到这里的时候相信大家已经有了自己的答案,在这里我们对一下正确选项:D。简单分析一下:不是每个结点经过线索都可以直接找到它的前驱和后继。在先序线索二叉树中查找一个结点的先序后继很简单,而查找先序前驱必须知道该结点的双亲结点。中序线索二叉树中根据中序遍历的规律查找中序前驱和中序后继也是很方便的。同样,在后序线索二叉树中查找一个结点的后序前驱也很简单,而查找后序后继也必须知道该结点的双亲结点,而二叉链表中没有存放双亲的指针。
最后希望各位小伙伴们在考研的路上不断迈进,继续加油,我们下次再见。
关于2021计算机考研:如何在线索树中找结点的后继?这个问题,文加考研学长提的几点建议大家接受吗?如果大家看完还有考研方面的疑问,无论是考研专业选择、考研复习、考研辅导,文加考研学长都能帮助大家答疑解惑,学长微信wjky66欢迎免费咨询~考研路上不是一个人在战斗,咨询一下也许就能助你茅塞顿开!