天天看點

java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊

二分搜尋樹的前序周遊

在遞歸實作中就是,

通路該節點

左節點

右節點

代碼執行個體:

System.out.println(node.e)//該節點
preOrder(node.left)//左節點
preOrder(node.right)//右節點
           
java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊

二分搜尋樹中序周遊

二分搜尋樹的中序周遊仔細看和上面的圖 就可以看到差別

java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊
preOrder(node.left)//左節點
System.out.println(node.e)//該節點
preOrder(node.right)//右節點
           

二分搜尋樹的後序周遊

java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊

深度了解遞歸周遊

前序周遊,他每個節點都要通路三次,

java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊
java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊

中序周遊

java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊

後序周遊

java資料結構-二分樹 前序周遊、中序周遊、後序周遊 思路、學習筆記(二) 二分搜尋樹的前序周遊二分搜尋樹中序周遊二分搜尋樹的後序周遊深度了解遞歸周遊前序周遊,他每個節點都要通路三次,前序周遊中序周遊後序周遊

最後就是代碼

前序周遊

//二分搜尋樹的前序周遊
	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);
	}
           

繼續閱讀