2013-10-04 82 views
0

函數doubleTree()執行此操作:通過在每個節點的.left上插入重複節點來更改樹。通過在每個節點的左側插入重複節點來更改樹

As explained here

我的問題是什麼,如果改變呼叫功能一樣,在序遍歷

doubleTree(node.left); 

// duplicate this node to its left 
oldLeft = node.left; 
node.left = new Node(node.data); 
node.left.left = oldLeft; 

doubleTree(node.right); 

我不認爲結果會改變。如果我錯了,請糾正我。那麼表演呢?

回答

1

我不認爲性能和結果會改變。由於我們迭代整個樹,兩種方法的時間複雜度爲O(N)