如何在二叉树上加上中序遍历线索~~~~
如图所示二叉树:
怎么在树上加上中序遍历线索????求详细解题步骤~~~~~ 求帮忙~~~
怎么在树上加上中序遍历线索????求详细解题步骤~~~~~ 求帮忙~~~
额···· 不是要代码··· 要的是线索化之后的图
这个很简单啊,线索二叉树无非就是每个带空指针的节点,让其空指针指向前驱(lchild)或者后续节点(rchild)就可以了。
中序遍历的顺序为:
DHBEAFCJIKG
在每个节点前面的就是其前驱,在每个节点后面的就是其后续。这样只要某个节点的左或者右孩子为空:
如果左孩子为空,就让其左孩子指向前驱节点,如果没有前驱节点就继续指向空;
如果右孩子为空,就让其右孩子指向后续节点,如果没有后续节点就继续指向空。
节点D,中序遍历是第一个节点,前驱为空,所以左孩子继续为空,后续节点指向H;
节点G,中序遍历是最后第一个节点,前驱为K,所以将其左孩子指向G,而其右孩子继续为空,因为没有后续节点A,B,C,I,左右孩子均齐全,不用处理;
节点EFHIJK,分别在孩子为空的填上对应前驱后继即可。
[解决办法]