码迷,mamicode.com
首页 > 其他好文 > 详细

经典结构 搜索二叉树

时间:2019-01-29 23:05:42      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:平衡   存储   红黑树   span   treemap   调整   value   nbsp   lan   

内容:

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> 的形式 

使用代码如下:

 

经典结构 搜索二叉树

标签:平衡   存储   红黑树   span   treemap   调整   value   nbsp   lan   

原文地址:https://www.cnblogs.com/wyb666/p/10336164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!