红黑树(red-black tree 简称RB-tree)是BST的扩从结构。 Linux内核,STL中的关联容器,nginx的实现 三类索引 线性索引:有序数组,索引顺序文件 树形索引:二叉搜索树(BST) B/B+树,字典树 散列索引 BST的平衡问题 退化为线性结构O(n),不再是log n ...
分类:
其他好文 时间:
2018-07-13 19:06:03
阅读次数:
175
1 typedef struct letter{ 2 int finished = 0; 3 char le; 4 letter *son, *ne; 5 letter():le('\0'),son(NULL),ne(NULL){}; 6 }letter,*pointer; 7 8 struct T... ...
分类:
其他好文 时间:
2018-07-12 16:34:35
阅读次数:
134
字典是干啥的?查找字的。 字典树自然也是起查找作用的。查找的是啥?单词。 看以下几个题: 1、给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过。 答:简单!map,短小精悍。 好。下一个 2、给出n个单词和m个询问,每次询问一个前缀,回答询问是多少个单词的前缀。 答:map ...
分类:
其他好文 时间:
2018-07-11 15:05:04
阅读次数:
160
题目链接:Perfect Security 题意:给出N个数代表密码,再给出N个数代表key。现在要将key组排序,使key组和密码组的亦或所形成的组字典序最小。 题解:要使密码组里面每个数都找到能使其亦或和最小的数可以将key建成一棵字典树(这里建树方式很关键,可以每个数都从2^31开始建树,这样 ...
分类:
其他好文 时间:
2018-07-10 21:34:11
阅读次数:
165
//trie树 //字典树 查找字符串 #include #include #include #include #include #include using namespace std; struct uio{ int son[27],val;//son[a]保存是否存在编号为a的子节点是否存在 ... ...
分类:
其他好文 时间:
2018-07-08 19:06:02
阅读次数:
160
题目描述 给定一棵 nn 个点的带权树,结点下标从 11 开始到 NN 。寻找树中找两个结点,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或。 输入输出格式 输入格式: 第一行一个整数 NN ,表示点数。 接下来 n 1n?1 行,给出 u,v,wu,v,w ,分别表示树 ...
分类:
其他好文 时间:
2018-06-28 22:59:51
阅读次数:
317
Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起M次询问,每次询问中包含一个正整数 S ,之后 Zeus 需要在集合当中找出一个正整数 K ...
分类:
其他好文 时间:
2018-06-23 00:02:53
阅读次数:
175
这篇简单的谈谈后缀树原理及实现。 如前缀树原理一般,后缀trie树是将字符串的每个后缀使用trie树的算法来构造: 上面算法中对于一串长m的字符串,建立一颗后缀字典树所需的时间为O(m2),27的循环在这里可看作常数,空间复杂度为O(m)。这里虽然也是O(m)的space,但倍数会比较大。 由于上面 ...
分类:
其他好文 时间:
2018-06-20 12:52:09
阅读次数:
191
字典树类似于二叉树 每一个节点中都有一个指针数组 存的是字符串的一个字符 字典树可以进行查找,统计计数,排序,代码如下 ...
分类:
其他好文 时间:
2018-06-07 20:52:50
阅读次数:
188
#include<bits/stdc++.h> using namespace std; typedef struct Node{ int sum; Node*next[26]; }node; void init(Node*node) { node->sum=0; for(int i=0;i<26; ...
分类:
其他好文 时间:
2018-05-31 00:37:56
阅读次数:
195