二分搜索树的前序遍历
在递归实现中就是,
访问该节点
左节点
右节点
代码实例:
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);
}