1. 简介 红黑树是一种自平衡二叉查找树。它的统计性能要好于平衡二叉树(AVL树),因此,红黑树在很多地方都有应用。在C++ STL中,很多部分(目前包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以及对 ...
分类:
其他好文 时间:
2017-06-13 17:14:58
阅读次数:
205
1. 概述 AVL树是最早提出的自平衡二叉树,在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis。AVL树种查找、插入和删除在平均和最坏情况下都是O(log n),增加和删除可能需要通过一 ...
分类:
其他好文 时间:
2017-06-13 16:49:11
阅读次数:
192
平衡二叉树是久闻大名了,但是因为其操作的繁琐以及存在更好的替代品所以没怎么接触(事实上是退队了以后就没怎么刷题 正巧这次期末考试就要考这个,那正好详细梳理一下知识: 平衡二叉树,其并没有字面上的那么平衡,其平衡程度能容忍任意节点的左子树高度与右子树高度的差之绝对值不超过1,为了理解方便,我们设定每个 ...
分类:
其他好文 时间:
2017-06-12 19:56:26
阅读次数:
165
直接上代码 正所谓 人傻自带大常数 平衡树的几种姿势: AVL Red&Black_Tree 码量爆炸,不常用;SBT 出于各种原因,不常用。 常用: Treap 旋转 基于旋转操作和随机数堆 但不支持区间操作。 非旋转 基于随机数堆和拆分合并操作 常数较大 Spaly 完全基于旋转 各种操作 Sc ...
分类:
其他好文 时间:
2017-06-11 23:27:45
阅读次数:
319
最近学习了二叉搜索树中的AVL树,特在此写一篇博客小结。 1.引言 对于二叉搜索树而言,其插入查找删除等性能直接和树的高度有关,因此我们发明了平衡二叉搜索树。在计算机科学中,AVL树是最先发明的自平衡二叉搜索树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。对于N个节点 ...
分类:
编程语言 时间:
2017-06-11 10:05:11
阅读次数:
287
Heartbeat与Keepalived的区别 Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP);Heartbeat是基于主机或网络的服务的高可用方式;keepalived的目的是模拟路由器的双机he ...
分类:
其他好文 时间:
2017-06-10 17:13:28
阅读次数:
201
简介: Treap,一种表现优异的BST 优势: 其较于AVL、红黑树实现简单,浅显易懂 较于Splay常数小,通常用于树套BST表现远远优于Splay 或许有人想说SBT,SBT我没有实现过,据说比较快 但是SBT、Splay以及旋转版Treap等BST都不可以比较方便地实现‘可持久化操作 Tre ...
分类:
其他好文 时间:
2017-06-06 10:56:20
阅读次数:
1583
首先要说AVL树,我们就必须先说二叉查找树,先介绍二叉查找树的一些特性,然后我们再来说平衡树的一些特性,结合这些特性,然后来介绍AVL树。 一、二叉查找树 1、二叉树查找树的相关特征定义 二叉树查找树,又叫二叉搜索树,是一种有顺序有规律的树结构。它可以有以下几个特征来定义它: (1)首先它是一个二叉 ...
分类:
其他好文 时间:
2017-06-02 23:02:01
阅读次数:
279
package avitree; /** * 平衡二叉查找树类 * * @param <T> */ public class AvlTree<T extends Comparable<? super T>> { public static void main(String[] args) { Avl ...
分类:
其他好文 时间:
2017-05-26 13:25:14
阅读次数:
185