天天看点

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);
	}
           

继续阅读