重新整理Trie的内容,还有一种叫做双链键树,不过到现在也不会写。Trie
可以称为字典树,也叫做前缀树,叫字典树很形象,叫前缀树可以很好的区分,因为还有一种树叫做后缀树自己就不瞎总结了,写估计也写不好。关键是时间不允许。参考两个blog
A B先给一个比较标准的模板 1 #include 2 #i...
分类:
其他好文 时间:
2014-05-17 15:00:46
阅读次数:
388
字典树
#ifndef TIRE_H_INCLUDED
#define TIRE_H_INCLUDED
/*
** 字典树
*/
#define MAX 26
typedef struct Node
{
int num;
struct Node* next[MAX];
}Tire;
/*
** 创建一个节点
*/
Tire* create(void);
/*
*...
分类:
其他好文 时间:
2014-05-16 02:52:23
阅读次数:
246
1.Trie树简介
Trie树,又称字典树、前缀树,被用于信息检索(information retrieval)的数据结构。Trie一词便来自于单词retrieval。基本思想:用字符串的公共前缀降低查询时间。比如,在最优的查询二叉树中查询关键字的时间复杂度为M * log N,M是字符串最大长度,N为字符串数量;而用Trie树时,只需O(M)时间。
[1] 中给出一个简单...
分类:
其他好文 时间:
2014-05-15 23:36:16
阅读次数:
394
#include
#include
#include
#include
#include
#include
using namespace std;
struct ssss
{
ssss *c[26];
int n,v;
}*s;
void insert(char *str,int v)
{
int i,j,k,l;
ssss *p,*q;
p=...
分类:
其他好文 时间:
2014-05-14 15:06:54
阅读次数:
357
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1115解题报告:输入n个字符串,让你求出可以用来区别这些字符串的最少的前缀总共有多少个字母。可以区别是指每个字符串都取一个自己的前缀,同时保证所有取的这些前缀没有完全相同。这题用字典树可以做...
分类:
其他好文 时间:
2014-05-12 03:43:49
阅读次数:
296
题目链接:
http://poj.org/problem?id=2418
Hardwood Species
Time Limit: 10000MS
Memory Limit: 65536K
Total Submissions: 17511
Accepted: 6949
Description
Har...
分类:
其他好文 时间:
2014-05-11 21:24:17
阅读次数:
387
AC自动机简介:首先简要介绍一下AC自动机:Aho-Corasick
automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有字典树Trie和KMP模...
分类:
其他好文 时间:
2014-05-10 23:24:41
阅读次数:
455
Neal is very curious about combinatorial problems, and now here comes a problem about words. Knowing that Ray has a photographic memory and this may not trouble him, Neal gives it to Jiejie.
Since Ji...
分类:
其他好文 时间:
2014-05-10 03:48:22
阅读次数:
352
接触Trie树是在选拔赛时候遇到一题目,TLE无数次依然无解,赛后发现字符串统计有一利器名曰“字典树”,后来花了一段时间去写Trie.
什么叫Trie树?
Trie树即字典树。
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时...
分类:
其他好文 时间:
2014-05-07 07:05:09
阅读次数:
351