经典结构 搜索二叉树

Posted wyb666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典结构 搜索二叉树相关的知识,希望对你有一定的参考价值。

内容:

1、搜索二叉树

2、典型搜索二叉树原理(AVL树、红黑树、SB树)

3、旋转 -- Rebalance

4、Java中红黑树的使用

 

 

 

1、搜索二叉树

搜索二叉树的定义:对于一棵二叉树中的任意子树,其左子树上的所有数值小于头结点的数值,

其右子树上所有的数值大于头结点的数值,并且树中不存在数值相同的结点。也称二叉查找树

 

 

2、典型搜索二叉树原理(AVL树、红黑树、SB树)

(1)AVL树

平衡二叉树:对于一棵二叉树中的任意子树,其左子树和其右子树的 高度相差不超过1

AVL树是一种具有严苛平衡性的搜索二叉树,那就是所有子树的左子树和右子树的高度相差不超过1

弊端是,每次发现因为插入、删除操作破坏了这种平衡性后,都需作出调整从而恢复平衡,调整较为频繁

 

(2)红黑树

 

 

(3)SB树 

 

 

3、旋转 -- Rebalance

 

 

 

4、Java中红黑树的使用

Java中红黑树的实现有TreeSet和TreeMap ,前者结点存储的是单一数据,而后者存储的是 <key,value> 的形式 

使用代码如下:

 

以上是关于经典结构 搜索二叉树的主要内容,如果未能解决你的问题,请参考以下文章