我是新來的圖和tree.Below的概念是樹的遍歷樹。樹遍歷中的遞歸
if(n!=null){
treeTraversal(n.left);
System.out.println(n.val);
treeTraversal(n.right);
}
我不能理解流程,因爲它涉及遞歸。有人可以解釋我如何控制流量發生堆棧。
我是新來的圖和tree.Below的概念是樹的遍歷樹。樹遍歷中的遞歸
if(n!=null){
treeTraversal(n.left);
System.out.println(n.val);
treeTraversal(n.right);
}
我不能理解流程,因爲它涉及遞歸。有人可以解釋我如何控制流量發生堆棧。
比方說,我有一棵樹是一樣的東西:
4
/\
2 5
/\
1 3
您的代碼會先將通過左孩子遞歸4 - > 2 - > 1。由於1沒有一個左子(它是空的),它會打印1然後彈出堆棧。下一步是遞歸2.它將打印2然後遍歷2的右側子節點,即3,它將打印3,然後彈出堆棧。然後它會打印4,然後是4的右側小孩5.打印的順序將是1,2,3,4,5。Here也是一個很好的動畫。
你使用哪個軟件的圖形,是自動生成的圖? – firephil
@firephil不,我手動在[draw.io](https://www.draw.io/) –