二分搜尋樹的前序周遊
在遞歸實作中就是,
通路該節點
左節點
右節點
代碼執行個體:
System.out.println(node.e)//該節點
preOrder(node.left)//左節點
preOrder(node.right)//右節點

二分搜尋樹中序周遊
二分搜尋樹的中序周遊仔細看和上面的圖 就可以看到差別
preOrder(node.left)//左節點
System.out.println(node.e)//該節點
preOrder(node.right)//右節點
二分搜尋樹的後序周遊
深度了解遞歸周遊
前序周遊,他每個節點都要通路三次,
中序周遊
後序周遊
最後就是代碼
前序周遊
//二分搜尋樹的前序周遊
public void preOrder(){
preOrder(root);
}
//前序周遊以node為根的二分搜尋樹,遞歸算法
private void preOrder(Node node){
if(node == null)
return;
System.out.println(node.e);
preOrder(node.left);
preOrder(node.right);
}
中序周遊
//二分搜尋樹的中序周遊
public void inOrder(){
inOrder(root);
}
//中序周遊以node為根的二分搜尋樹,遞歸算法
private void inOrder(Node node){
if (node == null)
return;
inOrder(node.left);
System.out.println(node.e);
inOrder(node.right);
}
後序周遊
//二分搜尋樹的後序周遊
public void postOrder(){
postOrder(root);
}
//後序周遊以node為根的二分搜尋樹,遞歸算法
private void postOrder(Node node){
if(node == null)
return ;
postOrder(node.left);
postOrder(node.right);
System.out.println(node.e);
}