依旧没有文字说明,只有少量的注释,二叉查找树有很多参考资料,这里就不多说了。下面奉上JAVA代码

package utility.structure;

import java.io.Serializable;

import java.security.InvalidParameterException;

import java.util.Comparator;

import java.util.ConcurrentModificationException;

/**

*

* @author odie.tang

* @version 1.0 11/09/09

*/

public class BinarySearchTree implements Comparable,Serializable{

private static final long serialVersionUID = -8154673525487170187L;

/**

* The comparator, or null if priority queue uses elements'

* natural ordering.

*/

private Comparator super E> comparator = null;

private E data;

private BinarySearchTree parent = null;

private BinarySearchTree leftChild = null;

private BinarySearchTree rightChild = null;

/**

* level indicates node's level in the whole tree, eg: root's level is 1, and its children's level is 2...

*/

private int level;

/**

* to identify the whether the child is a left child or a right one

*/

enum Child{left,right};

public BinarySearchTree() {

this.level = 0;

}

public BinarySearchTree(Comparator super E> comparator){

this.comparator = comparator;

this.level = 0;

}

public BinarySearchTree(E root) {

this(root,null);

}

public BinarySearchTree(E root,Comparator super E> comparator){

this.data = root;

this.comparator = comparator;

this.level = 1;

}

private BinarySearchTree(BinarySearchTree parent,Child childType,E child){

this.data = child;

this.parent = parent;

this.level = parent.level + 1;

if (childType == Child.left)

parent.leftChild = this;

else

parent.rightChild = this;

this.comparator = parent.comparator;

}

public void add(E e){

if (this.level == 0){

this.level = 1;

this.data = e;

}

else{

BinarySearchTree<

java 各种数据结构,几种常见的数据结构的JAVA实现相关推荐

  1. java八种基础数据结构_8种常见数据结构及其Javascript实现

    摘要: 面试常问的知识点啊... Fundebug经授权转载,版权归原作者所有. 做前端的同学不少都是自学成才或者半路出家,计算机基础的知识比较薄弱,尤其是数据结构和算法这块,所以今天整理了一下常见的 ...

  2. 【算法】图文并茂,一文了解 8 种常见的数据结构

    百度百科对数据结构的定义是:相互之间存在一种或多种特定关系的数据元素的集合.定义很抽象,需要大声地朗读几遍,才有点感觉.怎么让这种感觉来得更强烈,更亲切一些呢?我来列举一下常见的 8 种数据结构,数组 ...

  3. redis五种常见的数据结构

    文章目录 概述 一.对象的类型和编码 二.五种数据结构 五种数据结构的底层实现结构 1.字符串(String) 1)int 编码 2)embstr 编码 3)raw 编码 2.列表(List) 1)z ...

  4. Java RestTemplate中几种常见的请求方式

    在REST接口的设计中,利用RestTemplate进行接口测试是种常见的方法.本文主要从以下四个方面来看RestTemplate的使用: GET请求 POST请求 PUT请求 DELETE请求 OK ...

  5. Java 枚举(enum) 7种常见的用法

    在JDK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是 ...

  6. 【JAVA定时器】四种常见定时器的原理和简单实现

    个人学习笔记分享,当前能力有限,请勿贬低,菜鸟互学,大佬绕道 如有勘误,欢迎指出和讨论,本文后期也会进行修正和补充 前言 定时器顾名思义,即定时触发某个事件,分离开来,即包含三个因素:定时,触发,某个 ...

  7. java四舍五入_Java几种常见的四舍五入的方法

    展开全部 下面给你介绍3种常见的四舍五入: // 方式e68a8462616964757a686964616f31333365653764一:BigDecimal方式 double f = 3.131 ...

  8. java中的五种排序方法_用Java排序的五种有用方法

    java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...

  9. 几种常见树形数据结构小结

    最近新学习了很多厉害的数据结构,在大佬们的熏陶之下,也感悟了很多,对大佬们的实力也有了更加深厚的了解(先膜一番orz,换个姿势zto,再来一次owz) 左偏树 左偏树又名可并堆,多被用来对一些需要合并 ...

  10. C++几种常见的数据结构

    一.数据结构 数据结构可以分为如下几种: 1.线性表 线性表存储的数据是依次排列的,具有一对一的相连方式.每个元素的左右两边都具有小于或等于1个相邻节点. 线性表从存储方式来说,分为顺序存储和链式存储 ...

最新文章

  1. 机器翻译评测——BLEU算法详解 (新增 在线计算BLEU分值)评估
  2. 怎么用PHP语句做出增改删查功能,mysql语句实现简单的增、删、改、查操作示例...
  3. 乡村医生 VS 骨科大夫
  4. 一个抓取网站图片并提供批量下载功能的Chrome扩展
  5. 【Git】Git-常用命令备忘录(一)
  6. 航测大数据量处理_揭秘航测局“航空摄影质量自动检查系统”的“黑科技”
  7. magento 获取产品的属性值
  8. datatable中使用linq的条件或_C# 10. LINQ 的三种查询语句写法
  9. java 生成二维码,并跟其他图合成新图 图片添加水印
  10. Java String to InputStream
  11. 用友未获得服务器信息,客户端查询银行日记账没有数据出现,其他客户端和服务器正常...
  12. HTML CSS 个人网页设计
  13. SIM900A高效完整的STM32代码
  14. BIGEMAP如何发布百度离线地图及二次开发API
  15. 应用树莓派GPIO完成智能红绿灯系统
  16. 企业微信java开发demo_微信企业号demo
  17. nba2k online名字大全
  18. 作词:符如坤(2018.08.27)
  19. 开启QQ登录保护仍被盗号——QQ安全机制全面分析
  20. 怎么在php网站大图加倒计时,WordPress站点添加活动倒计时功能教程

热门文章

  1. 【优化算法】白头鹰搜索优化算法(BES)【含Matlab源码 1381期】
  2. 【语音处理】基于matlab GUI汉宁窗FIR陷波滤波器语音信号加噪去噪【含Matlab源码 1711期】
  3. 毕设题目:Matlab DTMF双音多频
  4. 【车位识别】基于matlab模板匹配车位识别【含Matlab源码244期】
  5. sql 连接高级语言之后查询出现乱码_还有不会用 SQL 的程序员吗?
  6. Pareidolia — AI的艺术教学
  7. 算法 博士_Strangecode博士-我如何学会不再担心并喜欢算法
  8. 互联网搜索的哪些环节 机器学习_机器学习、深度学习以及强化学习在金融领域有哪些应用?...
  9. php接收url的json,api-php中url接收的json数据,json_decode为空
  10. linux启动python项目_java项目部署Linux服务器几种启动方式总结经验