1.Huffman树 今天复习Huffman树。依稀记得自己被Huffman树虐的经历。还记得是7月份,我刚开始看数据结构与算法,根本看不懂Huffman树的操作。后来我终于悟出了Huffman树是怎么操作的了,但是被C艹的指针虐:用C艹的CArray存贮结点,但是读出来是空的。这是因为当时使用了“ ...
分类:
其他好文 时间:
2017-10-08 12:59:21
阅读次数:
200
简介 Link-cut Tree,简称LCT。 干什么的?它是树链剖分的升级版,可以看做是动态的树剖。 树剖专攻静态树问题;LCT专攻动态树问题,因为此时的树剖面对动态树问题已经无能为力了(动态树问题通常夹杂着树的操作,如删边与连边。这是线段树无法应对的)。 LCT难写吗?不难写啊!真的没有200行 ...
分类:
其他好文 时间:
2017-08-28 00:50:46
阅读次数:
258
我在前面的博客中解说了链表、栈和队列。这些数据结构事实上都是线性表,而且给出了具体的实现。从今天開始。我们将要来学习树,树作为一种数据结构我们常常会用到,作为起步和基础。我们先来实现二叉树。也就是每一个节点有不超过2个子节点的树。对于树的操作,最主要的创建、遍历、求树高、节点数等。代码上传至 htt ...
分类:
编程语言 时间:
2017-07-25 10:30:49
阅读次数:
172
map容器 map所处理的数据与数据库表具有键值的记录非常相似,在键值与映射数据之间,建立一个数学上的映射关系。map容器的数据结构仍然採用红黑树进行管理。插入的元素键值不同意反复,所使用的结点元素的比較函数仅仅对元素的键值进行比較,元素的各项数据能够通过键值检索出来。对于键值和映射数据。能够通过p ...
分类:
其他好文 时间:
2017-06-09 12:39:58
阅读次数:
206
为什么Linux早先使用AVL树而后来倾向于红黑树? 实际上这是由红黑树的有用主义特质导致的结果,本短文依旧是形而上的观点。红黑树能够直接由2-3树导出。我们能够不再提红黑树,而仅仅提2-3树。由于2-3树的操作太简单。另外,不论什么红黑树的操作和特性都能够映射到2-3树中。因此红黑树和AVL树的比 ...
分类:
系统相关 时间:
2017-05-16 14:46:22
阅读次数:
207
#include "stdio.h" #include "malloc.h" #include "stdlib.h" typedef struct BTNode { int data; struct BTNode *Lchild,*Rchild; }BTree; //初始化 BTree * Ini_... ...
分类:
编程语言 时间:
2017-04-24 12:30:15
阅读次数:
180
更新于2017 4 12 目前学的线段树的操作; 1.某段区间+v; 2。替换某个值(这个代码没涉及0.0) 3.查询区间和,最大值,最小值; 部分代码如下 #include<iostream> #include<cstdio> #include<cstring> #include<cstdio> ...
分类:
其他好文 时间:
2017-04-12 23:33:08
阅读次数:
195
红黑树是平衡树的一种,保证最坏情况下操作时间复杂度为O(lgo(n))。红黑树的应用比较广泛,比如作为C++中STL的set和map的底层数据结构,Java集合中TreeSet和TreeMap的底层数据结构等。学习红黑树,可以把二叉查找树作为参考,这样有助于加深理解。红黑树的操作主要包括节点旋转、插 ...
分类:
其他好文 时间:
2017-04-04 11:50:14
阅读次数:
226
平衡二叉树的重点在于对不平衡的进行旋转从而使它达到平衡. 下面是我理解的平衡二叉树的操作总结: 平衡因子(BF): 这是一个描述平衡度的一个量,计算的方式为 左子树的深度-右子树的深度。 我们可以从BF中就能知道左子树和右子树之间的平衡程度。 插入数据 平衡二叉树最复杂的就是将数据插入到树中了,因为 ...
分类:
其他好文 时间:
2017-04-01 18:25:24
阅读次数:
207
虽然说是疯狂训练吧,但是也没写多少题,就把伸展树的操作熟悉了一下,ac了5个题目。 一整天没啥可吐槽的,除了昨天在机房打游戏的某位朋友翻车后和教练谈了谈心2333 说题吧。。 1.BZOJ1208 HNOI2004 宠物收养所 这个题思路很简单,当做模板题打,在模板题中也算是简单的了,涉及操作:前驱 ...
分类:
其他好文 时间:
2017-03-29 22:12:16
阅读次数:
186