几种树:(1)平衡树:package com.jp.algorithm.tree;import java.util.Iterator;import java.util.NoSuchElementException;/** * 平衡二叉树 * * 定义:首先它是一种特殊的二叉排序树,其次它的左子树和....
分类:
其他好文 时间:
2014-06-28 17:14:17
阅读次数:
156
我们知道硬盘的读取速度是很慢的,那么如何实现文件系统才能让计算机更加高效呢?这时候就要引入B树的概念了。B树是平衡二叉树的推广形式,它的每个节点可以有很多的子节点。子节点的数量取决于扇区的大小。因为硬盘读取一个扇区的开销是最节省时间的。
下图展示了B树的样子,每个节点可以有多个子节点。
平衡树的应用
红黑树有着广泛的应用
...
分类:
其他好文 时间:
2014-06-16 11:52:50
阅读次数:
146
最基本的平衡树操作吧,第一次学splay的可以做一下只需要插入,删除,旋转,求前驱,后继这5个操作吧不喜欢用指针,用数组写的//HNOI2002营业额统计
#include#include#include#include#define INF 1key[root]],root,k); Spla...
分类:
其他好文 时间:
2014-06-13 20:10:15
阅读次数:
282
treap!var i,n,x,y,ans,a,b,root,tot,ft:longint;
l,r,s,v,hr:array[0..100000] of longint;procedure r_rotate(var x:longint); var
y:longint; begin y:=l[...
分类:
其他好文 时间:
2014-06-02 11:50:43
阅读次数:
181
标准的平衡树。贴个splay吧var v,l,r,fa:array[0..100000] of
longint; root,x,i,n,ans:longint;procedure zig(x:longint); var y,z:longint; begin
y:=fa[x];z:=fa[y]; if...
分类:
其他好文 时间:
2014-06-01 16:47:21
阅读次数:
335
/*
**AVL平衡树插入例程
**2014-5-30 11:44:50
*/
avlTree insert(elementType X, avlTree T){
if(T == NULL){
T = malloc(sizeof(struct avlTree));
if(T == NULL) fatalError("Out of space!!!");
T->element = X...
分类:
其他好文 时间:
2014-06-01 09:50:16
阅读次数:
233
应一些人之邀。。。发一篇代码 1 #include 2 #include 3 #include 4
#include 5 6 using namespace std; 7 struct node 8 { 9 int data; 10 int key;
11...
分类:
其他好文 时间:
2014-05-23 05:17:06
阅读次数:
246
基本概念 AVL树:树中任何节点的两个子树的高度最大差别为1。
AVL树的查找、插入和删除在平均和最坏情况下都是O(logn)。 AVL实现 AVL树的节点包括的几个组成对象: (01) key --
是关键字,是用来对AVL树的节点进行排序的。 (02) left -- 是左孩子。 (03) ri...
分类:
其他好文 时间:
2014-05-19 07:19:18
阅读次数:
323
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:
其他好文 时间:
2014-05-09 08:10:36
阅读次数:
338
二叉平衡树好火啊,几乎每个公司的笔试题里都有它,考了好多次我都不会,挂笔试很有可能就是因为它,还有一个它的同伙叫二叉搜索树,貌似人气比它还要高一些。二叉平衡树是什么样的树呢,是每个节点的左右子树高度相差绝对值都不超过1。好,你说你终于回了,这不很简单吗,求一下根节点的左右字数高度,如果满足,他就是,否则就不是嘛。不是啊亲,要求是所有节点都满足这个条件,判断的时候必须每个节点都验证的!
扯了这么长...
分类:
其他好文 时间:
2014-05-08 11:05:26
阅读次数:
286