平衡查找树的目标是实现查找、插入、删除操作在最坏情况下的复杂度均为logN。
本节将介绍二三查找树。
二三树中有两种节点:
二节点对应一个键,有两个子节点
三节点对应两个键,有三个子节点
二三查找树非常平衡,每个空节点到根节点的距离都是一样的 。
查找操作
在二三树中查找一个键的时候有以下...
分类:
其他好文 时间:
2014-06-19 11:32:21
阅读次数:
157
主要参考>Java语言描述(Mark Allen
Weiss)二叉查找树主要的操作是:1.查找,2,插入,删除。查找操作:从根节点开始,递归查找。如果值等于当前根节点,返回根节点存储的值。若果查找的值小于跟根节点的值,则查找左子树,反之递归查找右子树。如果要查找的当前节点为NULL,说明查找结束了,...
分类:
编程语言 时间:
2014-06-16 06:56:30
阅读次数:
277
栈和线性表类似,也是有两种存储结构,分别为顺序结构和链式结构。大部分情况下,栈使用前者,这和它的使用场景有关,因为通常情况下我们不会对栈进行频繁地,随机地插入,删除操作。下面是我用顺序结构实现的栈,这个栈有个特点就是它的通用性,因为我并没有限制它所存储的数据类型...
分类:
其他好文 时间:
2014-06-15 15:02:00
阅读次数:
209
最基本的平衡树操作吧,第一次学splay的可以做一下只需要插入,删除,旋转,求前驱,后继这5个操作吧不喜欢用指针,用数组写的//HNOI2002营业额统计
#include#include#include#include#define INF 1key[root]],root,k); Spla...
分类:
其他好文 时间:
2014-06-13 20:10:15
阅读次数:
282
新学的,其实吧,就那么回事....看了几天,splay处理序列问题,真的非常厉害,翻转,插入,删除,线段树实现不了的功能,splay用起来很方便。POJ
3580 SuperMemo这题基本就是检验模板的题,各种操作都有,错了好多次,发现以前写的代码有错了的,数据水点,给水过了,注意pushup。S...
分类:
其他好文 时间:
2014-06-13 14:36:52
阅读次数:
213
一、开辟内存执行的方法流程1.CreateFileMapping
创建一个内存块,指定大小。2.OpenFileMapping打开一个已经存在的内存块做映射。3.MapViewOfFile
获得内存块数据的头指针,需要制定大小。二、操作系统:Windows 7 旗舰版, 32-bit在不同的进程A和...
分类:
其他好文 时间:
2014-06-12 09:14:17
阅读次数:
260
问题:
给定一个链表的头指针,以及一个整数k,要求将链表按每k个为一组,组内进行链表逆置。少于k个的部分不做处理。
分析:
个人觉得问题的重点是熟悉链表的就地逆置操作,就是头插法。其他的考察点如果还有的话,就的细心程度。
实现:
void reverseList(ListNode *&pre, ListNode *head)
{
ListNode *tail = NULL;
w...
分类:
其他好文 时间:
2014-06-10 17:25:45
阅读次数:
305
本章介绍在D3.js中关于如何选择,插入和删除元素。...
分类:
Web程序 时间:
2014-06-10 14:33:36
阅读次数:
280
队列常常也使用链式存储的方式来实现。为了方便操作,同顺序存储一样,我们要维护一个头指针和一个尾指针。如下图:
在链式队列中显然不会出现假溢出的情况。但在出队时,要及时释放内存。由于在队列的实现:顺序队列中,对队列的描述已经很清楚了。就闲话不多说,直接上代码:
类定义和类实现
#include
#include
using namespace std;
typedef int ELem...
分类:
其他好文 时间:
2014-06-10 08:04:30
阅读次数:
253