首页 > 其他 > 详细

二分查找树

时间:2014-12-30 14:55:46      阅读:261      评论:0      收藏:0      [点我收藏+]

下面是二分查找树的具体实现

BinarySearchTree类架构

 

 1 /*
 2  * 简化的二叉查找树,节点只是int类型
 3  */
 4 public class BinarySearchTree {
 5     private static class BinaryNode { //private声明的类只能定义为内部类
 6     //定义树的节点类型
 7     }
 8     
 9     private BinaryNode root; //根节点,定义为私有
10     
11     public BinarySearchTree() {
12         root = null;
13     }
14     
15     public boolean isEmpty() { //判断树是否为空
16         return root == null;
17     }
18     
19     public void makeEmpty() { //把树置为空
20         root = null;
21     }
22     
23     public boolean contains(int x, BinaryNode t) {} //查找
24     
25     public BinaryNode findMin(BinaryNode t) {} //最大值
26     
27     public BinaryNode findMax(BinaryNode t) {} //最小值
28     
29     public BinaryNode insert(int x, BinaryNode t) {} //插入
30     
31     public BinaryNode remove(int x, BinaryNode t) {} //删除
32     
33     public void printTree(BinaryNode t) {} //打印二叉树
34 }

 

定义树的节点类型

 1     private static class BinaryNode { //private声明的类只能定义为内部类
 2         public BinaryNode(int ele) {
 3             this(ele, null, null); //引用构造函数
 4         }
 5         public BinaryNode(int ele, BinaryNode lt, BinaryNode rt) {
 6             element = ele;
 7             left = lt;
 8             right = rt;
 9         }
10         
11         int element; //先定义为一个简单的整型数据
12         BinaryNode left; //左孩子
13         BinaryNode right; //右孩子        
14     }

 

 

参考

数据结构与算法分析_Java语言描述(第二版)

二分查找树

原文:http://www.cnblogs.com/hking-jff/p/4193446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!