首页 > 代码库 > 二分查找树
二分查找树
下面是二分查找树的具体实现
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语言描述(第二版)
二分查找树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。