红黑树定义: 红黑树是一种自平衡二叉查找树,红黑树和AVL都是BST(二叉排序树)的平衡版本,相比于AVL的完全平衡,红黑树只要求局部平衡,因此当向红黑树插入和删除结点时,需要调整的比AVL要少,统计性能要高于AVL树,C++ STL中的map、set、multimap和multiset都应用了红黑 ...
分类:
其他好文 时间:
2018-08-21 22:38:06
阅读次数:
202
https://blog.csdn.net/kingcat666/article/details/45248487 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)优势: (1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就 ...
分类:
其他好文 时间:
2018-08-16 15:40:43
阅读次数:
192
一.AVL简介 AVL树的名字来源于它的发明作者G.M. Adelson-Velsky 和 E.M. Landis。AVL树是最先发明的自平衡二叉查找树(Self-Balancing Binary Search Tree,简称平衡二叉树)。 AVL树又称平衡二叉搜索树,它能保证二叉树高度相对平衡,尽 ...
分类:
其他好文 时间:
2018-06-17 16:54:30
阅读次数:
207
AVL树简介 AVL树的名字来源于它的发明作者G.M. Adelson-Velsky 和 E.M. Landis。AVL树是最先发明的自平衡二叉查找树(Self-Balancing Binary Search Tree,简称平衡二叉树)。 平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质 ...
分类:
编程语言 时间:
2018-05-23 20:47:58
阅读次数:
376
1、AVL 1.基本概念 AVL是平衡二叉查找树,它或者是一颗空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 若将二叉树结点上的平衡因子BF(Balance Factor)定义为该结点的左子树的深度减去它的右子树的深度,则平衡二叉树上 ...
分类:
其他好文 时间:
2018-05-14 22:04:36
阅读次数:
180
1. 什么是红黑树? 1.1 概述 红黑树实际上是一种自平衡二叉查找树。 二叉树是什么?二叉树是每个节点最多有两个子树的树结构,每个节点都可以用于存储数据,可以由任 1 个节点访问它的左右 子树或父节点。 二叉查找树是什么?二叉查找树或者是一棵空树,是具有下列性质的二叉树。 每个节点都有一个作为查找 ...
分类:
其他好文 时间:
2018-04-27 12:08:31
阅读次数:
488
一、HashMap和TreeMap区别 1、HashMap是基于散列表实现的,时间复杂度平均能达到O(1)。 TreeMap基于红黑树(一种自平衡二叉查找树)实现的,时间复杂度平均能达到O(log n)。2、HashMap、TreeMap都继承AbstractMap抽象类;TreeMap实现Sort ...
分类:
其他好文 时间:
2018-04-21 17:32:36
阅读次数:
198
伸展树是一种自平衡二叉查找树,它将每次操作的节点都旋转到根节点,伸展树操作的均摊时间复杂度为logn 基本操作 伸展操作 伸展树的最基本的操作当然就是伸展了,这也是它自平衡的基础 splay(x,S)表示在保持伸展树有序性的前提下,通过一系列旋转将伸展树S中的元素x调整至树的根部。 旋转操作就不说了 ...
分类:
其他好文 时间:
2018-01-30 22:52:58
阅读次数:
151
AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,是一种高度平衡的自平衡二叉查找树 它的查找、插入和删除在平均和最坏情况下都是O(log n),这得益于它的性质: 在满足二叉查找树的性质情况下,还满足每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1 ...
分类:
其他好文 时间:
2018-01-30 12:19:52
阅读次数:
172
treemap结构是红黑树 1.先介绍一下平衡二叉树 其特点是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。也就是说该二叉树的任何一个子节点,其左右子树的高度都相近。 2.红黑树(Red Black Tree) 是一种自平衡二叉查找树 (1) 检索效率O(l ...
分类:
编程语言 时间:
2018-01-13 23:56:08
阅读次数:
375