经典结构 搜索二叉树
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> 的形式
使用代码如下:
以上是关于经典结构 搜索二叉树的主要内容,如果未能解决你的问题,请参考以下文章
算法漫游指北(第十三篇):二叉树的基本概念满二叉树完全二叉树二叉树性质二叉搜索树二叉树定义二叉树的广度优先遍历
数据结构~基础2~树《二叉树二叉搜索树AVL树B树红黑树》的设计~高度平衡二叉树AVL树