【算法与数据结构】查找二叉树的实现

时间:2023-01-05 17:32:30

(转载请注明出处:http://blog.csdn.net/buptgshengod

1.题目介绍

   二叉树是一种基本的数据结构。查找二叉树是一种方便与查找,删除,插入等功能的二叉树,它要求每个父节点的左分支小于父节点,右分支大于父节点。下面我们来实现下面这个查找二叉树。 【算法与数据结构】查找二叉树的实现

2.java代码实现

public class BinaryTree {
private Node root;
public BinaryTree(){
root=null;
}
/*
* 定义内部节点
*/
public class Node{
private Node left;
private Node right;
private int data;
public Node(int data){
this.left = null;
this.right = null;
this.data = data;
}
}
/*
* 生成二叉树的函数
*/
public void BuildTree(Node node,int data){
if(root==null){
root=new Node(data);
}
else{
if(data<node.data){
if(node.left==null){
node.left=new Node(data);
}
else{
BuildTree(node.left,data);
}
}
else{
if(data>node.data){
if(node.right==null){
node.right=new Node(data);
}
else{
BuildTree(node.right,data);
}
}

}

}

}
/**
* 前序遍历
* @param node
*/
public void preOrder(Node node){
if(node != null){
System.out.println(node.data);
preOrder(node.left);
preOrder(node.right);
}
}


public static void main(String[] args){
int[] a={1,4,26,8,77,43,75,};
BinaryTree tree=new BinaryTree();
for(int i=0;i<a.length;i++){
tree.BuildTree(tree.root, a[i]);
}
tree.preOrder(tree.root);

}
}

前序遍历输出结果
【算法与数据结构】查找二叉树的实现