可以借助栈,将二叉树的递归遍历算法的转换为非递归算法。 中序遍历的非递归算法如下: Void InOrder2(BiTree T){ //二叉树中序遍历的非递归算法,算法需要借助一个栈 InitStack(S); BiTree p=T;//初始化栈;p是遍历指针 While(p||!isEmpty(S)){ If§{ Push(S,p); //入栈 P=p->child; //遍历左子树 } Else{ Pop(S,p);visit§; //出栈,访问结点值 P=p->rchild; //遍历右子树 }}}
22二叉树非递归遍历算法
关注
打赏