美文网首页数据结构
数据结构题目42:二叉树的前序遍历(非递归)

数据结构题目42:二叉树的前序遍历(非递归)

作者: 玲儿珑 | 来源:发表于2020-05-11 18:29 被阅读0次

题目:若二叉树为二叉链表存储结构,写出二叉树的前序遍历的非递归算法。

解题思路:中序遍历很相似,只是遍历到结点要及时访问。

具体算法如下:
这里使用到建立二叉树方法createBT(strBT)

function preOrder1(BT) {
    let stack=new Array(MaxSize), top=-1, p=BT
    do {
        while ( p!=null ) {
            stack[++top] = p
            console.log(p.data)
            p = p.lchild
        }
        p = stack[top--]
        p = p.rchild
    } while (!(p==null&&top==-1));
}

var strBT="A(B(D,E(G)),C(F(,H)))@"
var BT = createBT(strBT)
postOrder1(BT)

相关文章

网友评论

    本文标题:数据结构题目42:二叉树的前序遍历(非递归)

    本文链接:https://www.haomeiwen.com/subject/jdlpnhtx.html