又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。字典树与字典很相似,当你要查一个...
分类:
其他好文 时间:
2014-08-01 10:28:11
阅读次数:
263
UVA 11732 - strcmp() Anyone?
题目链接
题意:给定一些字符串,要求两两比较,需要比较的总次数(注意,如果一个字符相同,实际上要还要和'\0'比一次,相当比2次)
思路:建Trie树,每次建树过程中,后继后继结点就是相同结点需要比较两次ans + val * 2,否则就是不同结点ans + val,建完树就计算完了
代码:
#include ...
分类:
其他好文 时间:
2014-08-01 02:27:00
阅读次数:
220
#include #include #include #define MAX 27typedef struct node{ int v; struct node *next[MAX];}Trie;Trie *root;void creatTrie(char *str){ int i...
分类:
其他好文 时间:
2014-07-31 16:23:26
阅读次数:
212
UVA 1401 - Remember the Word
[题目链接]
题意:给定一些单词,和一个长串,问这个长串拆分成已有单词,能拆分成几种方式
思路:Trie,先把单词建成Trie,然后进行dp,dp[i]表示以i为开头的情况,然后每个状态只要在Trie树上找到相应的i开头的单词,然后dp[i] = sum{dp[i + len]}进行状态转移即可
代码:
#in...
分类:
其他好文 时间:
2014-07-31 13:25:06
阅读次数:
195
查询IP地址的ISP
给定一个IP地址,如何查询其所属的ISP,如:中国移动(ChinaMobile),中国电信(ChinaTelecom),中国铁通(ChinaTietong)?
现在网上有ISP的IP地址区段可供下载,比如中国移动的IP地址段
103.20.112.0/22
103.21.176.0/22
111.0.0.0/10
112.0.0.0/10
...
分类:
编程语言 时间:
2014-07-30 14:53:03
阅读次数:
559
字典树,又称单词查找树,Trie树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度的减少无谓的字符串比较,查询效率比哈希表高。它有三个基本性质,根节点不包含字符,除根节点外每一个节点都只包含...
分类:
其他好文 时间:
2014-07-30 12:04:33
阅读次数:
487
计算一个字符串数组中有多少个重复字符串出现。
如果直接使用map容器,那么这条题就很简单了,一下就AC了,因为map已经处理好一切了;
不过时间超过1532ms,有点慢。
如下:
int main()
{
map msi;
int total = 0;
char treeName[40];
while (gets(treeName))
{
msi[treeName]++;
...
分类:
其他好文 时间:
2014-07-29 14:32:18
阅读次数:
288
本题的解法是多种多样的,这里使用Trie来解决一下。
也可以使用hash表,map等解法,因为输入是特定的7位数字,故此应该都可以解决的。
这里使用Trie的速度并不快,主要是因为最后我直接遍历输出,遍历整个Trie的速度还是比较慢的。
思路:
1 使用insert函数建立Trie,主要增加一个叶子节点的信息,记录当前有多少个重复的字符串
2 遍历就是根据叶子节点的信息决定是否需要输出。...
分类:
其他好文 时间:
2014-07-28 15:55:03
阅读次数:
282
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie的数据结构定义:Code...
分类:
其他好文 时间:
2014-07-28 14:45:03
阅读次数:
196
B树、B-树、B+树、B*树、红黑树rbtree 二叉排序树、trie树Double Array 字典查找树
B树
即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;
...
分类:
其他好文 时间:
2014-07-26 02:24:36
阅读次数:
232