设一棵二义树的存储表示是二叉链表、编写一个用Robson方法实现二叉树后序遍历的算法。Robson方法遍历二叉树的特点如下:

(1)沿袭5-60题使用逆转链遍历二叉树的思想。 (2)不使用tag标志,而是用内嵌的栈代替tag的作用。该内嵌的栈使用了叶结点作为栈的结构,没有另外定义栈的存储空间。 (3)利用栈解决在回溯时分辨究竟是从左子树还是右子树上升的问题,步骤是: ①当进入有非空左子树的结点的右子树时,将该结点的地址进栈。 ②在回溯过程中如遇到结点的左、布子树都非空时,如果该结点就是存于栈顶的结点,则可判定当前是从该结点的右子树退回,该结点的右子女指针指向它的父结点;否则当前是从该结点的左子树退回,该结点的左子女指向它的父结点。

时间:2024-04-09 13:25:27

相似题目