2014-02-13 44 views
2

我有一個面試問題。 以下哪項最適合創建二叉樹的鏡像? 1.訂單 2.郵購 3.預購 4.級別順序。創建二叉樹鏡像的最佳遍歷?

任何人都可以解釋哪一個將被使用,爲什麼?

+1

預購與否定比較邏輯應該這樣做。 (誠​​然,這是從袖口,但它似乎是有道理的)。假定樹不是自平衡的。 – WhozCraig

回答

1

我覺得preorder是建立鏡像,最好的辦法: -

node* preorder(node* p) { 

    if(p==null) { 
     return(null); 
    } 

    node* n = create(p->data); 
    n->left = preorder(n->right); 
    n->right = preorder(n->left); 

    return(n); 

} 
+0

Preorder遍歷提供了二叉樹的插入序列,因此它是複製倒序樹的正確方法... – albin