摘要: Treap是一种平衡二叉树,同时也是一个堆。它既具有二叉查找树的性质,也具有堆的性质。在对数据的查找、插入、删除、求第k大等操作上具有期望O(log2n)的复杂度。Treap可以通过节点的旋转来实现其维持平衡的操作,详见旋转式Treap. 而旋转式Treap在对区间数据的操作上无能为力,这就需要非旋... 阅读全文
posted @ 2015-08-12 22:11 农民伯伯-Coding 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 左倾堆(或左偏树)和之前记录过的二叉堆一样,是堆的一种;和普通的二叉堆不同,它是一种可合并堆。可合并堆相比于普通的二叉堆在对两个堆进行合并的操作上具有很大的优势:对于基本的二叉堆合并,时间复杂度为O(n), 而对于可合并堆,其时间复杂度为O(log2n).左倾堆性质左倾堆(也叫左偏树),是一种可合并... 阅读全文
posted @ 2015-08-12 19:13 农民伯伯-Coding 阅读(801) 评论(0) 推荐(0) 编辑
摘要: Size Balanced Tree(SBT)是目前速度最快的平衡二叉搜索树,且能够进行多种搜索操作,区间操作;和AVL、红黑树、伸展树、Treap类似,SBT也是通过对节点的旋转来维持树的平衡,而相比其他平衡树,SBT维持平衡所需要的额外数据很少,只需要维持以当前节点为根的子树的大小;且SBT的编... 阅读全文
posted @ 2015-08-12 14:38 农民伯伯-Coding 阅读(1550) 评论(0) 推荐(0) 编辑