AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. ...
分类:
其他好文 时间:
2019-12-27 11:36:38
阅读次数:
83
一、AVL 树 在计算机科学中,AVL树是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的最大高度差为 1,因此它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是 O(log(n))。插入和删除元素的操作则可能需要借由一次或多次树旋转,以实现树的重新平衡。 ...
分类:
其他好文 时间:
2019-12-06 00:08:31
阅读次数:
96
【简介】 红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组(又称为映射 Map)。红黑树和平衡树(AVL)类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树(BST)的平衡,从而获得较高的查找性能。它虽然是复杂的,但 ...
分类:
其他好文 时间:
2019-11-10 17:20:23
阅读次数:
90
红黑树 红黑树(英语:Red–black tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由鲁道夫·贝尔发明的,他称之为”对称二叉B树”,它现代的名字是在Leo J. Guibas和Robert Sedgewick于1978年写的一篇论 ...
分类:
其他好文 时间:
2019-09-29 23:52:22
阅读次数:
128
a. 红黑树本质上是一棵自平衡二叉查找树 b. 二叉查找树的特点: i. 左子树都小于根 ii. 右子树都大于根 c. 红黑树的特点: i. 节点非红即黑 ii. 根节点是黑节点 iii. 红节点的子节点一定是黑节点,但是黑节点的子节点不一定是红节点 iv. 最底层的叶子节点一定是黑色的空节点 v. ...
分类:
其他好文 时间:
2019-09-23 00:10:08
阅读次数:
129
自平衡二叉查找树 它是为了解决二叉查找树的查找时间复杂度最差是O(n)的问题而发明的数据结构算法。 BST的查找运行时间和BST的高度有关。一个树的高度指的是从树的根开始所能到达的最长的路径长度。 因为二叉搜索树的结构可能是一个链表,在这种情况下,在 BST 中查找节点与在数组(Array)中查找就 ...
分类:
其他好文 时间:
2019-09-13 22:19:32
阅读次数:
177
红黑树及其基本操作 红黑树的定义 ? 红黑树是一种自平衡二叉查找树。它相比于平衡二叉树的优点在于,其的特性可以让其在任何条件下保持树的高度小于等于log n,所以其即使在最坏条件下对于增删查改这样的基本操作也能保持O(log n)的时间复杂度;另外,相比于严格平衡的AVL树,红黑树是一种不严格的平衡 ...
分类:
其他好文 时间:
2019-09-11 21:28:51
阅读次数:
102
前戏 我们大家都知道动态查找树能够提高查找效率,比如:二叉查找树,平衡二叉查找树,红黑树。他们查找效率的时间复杂度O(log2n),跟树的深度有关系,那么怎么样才能提高效率呢?当然最快捷的方式就是减少树的深度了。那么怎么减少树的深度呢?为了解答这个问题,我们慢慢来看,先看个实际问题吧。 问题背景 在 ...
分类:
其他好文 时间:
2019-09-10 15:05:05
阅读次数:
132
维基百科对B树的定义为“在计算机科学中,B树(B tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B 树为系统最优化 大块数 ...
分类:
其他好文 时间:
2019-08-24 22:39:42
阅读次数:
132
注:图片来自博主origins https://www.cnblogs.com/liyuan989/p/4071942.html 及百度图库 一 简介 红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。红黑树的基本思想是用标 ...
分类:
其他好文 时间:
2019-05-19 22:02:26
阅读次数:
196