(转载请注明出处: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); } }
前序遍历输出结果