E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——字典树
从Trie树(
字典树
)谈到后缀树(ZZ)
引言咱们先来看一道面试题:一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。之前在此文:海量数据处理面试题集锦与Bit-map详解中给出的参考答案:用trie树统计每个词出现的次数,时间复杂度是O(n*le)(le表示单词的平均长度),然后是找出出现最频繁的前10个词。也可以用堆来实现(具体的操作可参考第三章、寻找最小的k个数),时间复杂
雲のむこう,約束の場所
·
2012-04-26 21:00
第十二章Trie树(
字典树
)解决HDU1251
http://acm.hdu.edu.cn/showproblem.php?pid=1251 #include usingnamespacestd; structTrieNode { TrieNode*children[26]; boolflag; intcnt;//前缀数目 }; voidInitTrieNode(TrieNode*tn) { if(!tn) { exit(1); } for
MichealTX
·
2012-04-19 17:00
null
ini
HDU 1251 统计难题 (java版
字典树
)
十分基础的
字典树
,直接上代码importjava.io.BufferedInputStream; importjava.util.Scanner; publicclassMain{ privatestaticScannercin
Ping_QC
·
2012-04-18 09:00
java
String
null
search
Class
insert
trie(
字典树
)的双数组实现
trie的双数组实现是为了减少空间复杂度。http://www.cnblogs.com/cuberub/archive/2012/03/24/2416195.htmlhttp://hi.baidu.com/%CF%B5%B4%C7%CF%C2%B4%CE/blog/item/3ae945d5368db9c5572c84e8.htmlhttp://linux.thai.net/~thep/datri
suwei19870312
·
2012-04-17 15:00
c
POJ 1204 Word Puzzles [ Trie树 模板题]
思路:很裸的
字典树
。#include #include #include #include #defineMax(a,b)((a)>(b)?(a):(b)) #defineMin(a,b)((a)0?
wuyanyi
·
2012-04-09 12:00
java 版
字典树
publicclassMain{ publicstaticvoidmain(String[]args){ String[]str={"asdf","asji","bjkl","cdsdf","jdsfk"}; Trieroot=newTrie(); for(Strings:str){ insert(root,s); } if(find(root,"sdf")){ System.out.printl
Ping_QC
·
2012-04-08 14:00
java
String
null
Class
insert
nyoj 163 phonelist
字典树
(2)
这是我做的
字典树
第二题,纠结了几天,终于做出来了,感觉真爽主题思想:把每个经过的结点进行标记,没走之前都把flag标记为0,走过的标记为1,一串电话号的末尾标记为2;举个例子123和121.先插123;
H_R_D_127
·
2012-04-05 20:00
用python实现的
字典树
用python实现的
字典树
1 #!
sunrise
·
2012-04-05 11:00
Trie树|
字典树
的简介及实现(转)
Trie,又称
字典树
、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。
xjbzju
·
2012-04-03 20:00
数据结构
tree
null
delete
insert
Terminal
KMP算法之来龙去脉
引记 此前一天,一位MS的朋友邀我一起去与他讨论快速排序,红黑树,
字典树
,B树、后缀树,包括KMP算法,唯独在讲解KMP算法的时候,言语磕磕碰碰,我想,原因有二:1、博客内的东西不常回顾,忘了不少;
webols
·
2012-04-01 23:00
数据结构
算法
function
测试
delete
search
杭电hdu 1075 What Are You Talking About
字典树
的应用
pid=1075经过前两个
字典树
的学习运用,现在在它们的基础上做了这个题,其代码贴在下面,供我以后再回首时能想起。
wchyumo2009
·
2012-04-01 19:00
c
struct
null
search
insert
字典树
--c语言
(1)trie.h #ifndef TRIE_H_ #define TRIE_H_ typedef struct word_trie_t word_trie_t; typedef enum bool bool; enum bool { false=0, true=1, }; struct word_tri
shaojiashuai123456
·
2012-03-31 21:00
C语言
nyoj 290 动物统计加强版
字典树
#include #include #include intmax=0; charans[20]; structnode//结点 { intcount; structnode*next[26];//每个结点有26个分支 }; structnode*root;//根结点 structnode*newset() { structnode*p; p=(structnode*)malloc(sizeof(
H_R_D_127
·
2012-03-31 16:00
http://poj.org/problem?id=2503&&hash
思路:hash表,
字典树
,排序。。
smallacmer
·
2012-03-31 09:00
字典树
简单示例
字典树
的基本功能是用来查询某个单词(前缀)在所有单词中出现次数的一种数据结构,它的插入和查询复杂度都为O(len),Len为单词(前缀)长度,但是它的空间复杂度却非常高,如果字符集是26个字母,那每个节点的度就有
Sweblish
·
2012-03-30 20:00
数据结构
c
struct
null
Uva 10132 - File Fragmentation
那么,可以建一个
字典树
,把所有的是前半张纸的找出来。然后根据这前半张纸,找出剩下的后半张纸(因为知道
yx
·
2012-03-30 18:00
nyoj 551 移动小球
我发现基础真的很重要,我真的有点好高骛远了,当我想学
字典树
的时候,我发现自己还不会链表,没办法只有好好去看看数据结构了,没看还好,一看我发现自己竟然不清楚什么是指针。。
H_R_D_127
·
2012-03-29 20:00
字典树
http://acm.zzuli.edu.cn/showproblem?problem_id=1615#include#include#includetypedefstructstu{//创建树结点 intnum; structstu*child[26];}lode,*linklist;linklistroot; charstr[15];linklistCreat()//创建结点{ inti;
cddchina
·
2012-03-29 15:00
杭电hdu 1247 hat's words
pid=1247
字典树
的又一简单题,简单介绍见本目录中的另一个题。
wchyumo2009
·
2012-03-28 12:00
[置顶] HDU 1305 Immediate Decodability HDU 1671 Phone List(
字典树
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1305http://acm.hdu.edu.cn/showproblem.php?pid=1671这两题几乎都是一样,所以就一起贴上来了...........题意:每个测试实例先输入一个数N(1 #include #include boolis_phone;/*判断是否能成功拨打号码*/ structn
A_Eagle
·
2012-03-28 08:00
struct
list
测试
null
insert
电话
hdu 1251 统计难题(trie树)
这两天学了下
字典树
~参考连接:http://www.cnblogs.com/cherish_yimi/archive/2009/10/12/1581666.htmlhttp://www.wutianqi.com
cqlf__
·
2012-03-27 21:00
struct
null
hdu1075--还是
字典树
注意:题中可能出现abc可翻译为bcd,需要翻译的文章中出现ab的话,还是输出ab(在这里错了好久,才发现)分析:几乎是
字典树
的模板,把翻译存储为一个字符串。有各种边界条件需要处理。
hss871838309
·
2012-03-26 18:00
hdu1251
字典树
分析:很明显需要用
字典树
写,节省空间节省时间的有效方法。
hss871838309
·
2012-03-26 09:00
null
search
杭电1251 统计难题
字典树
的应用
进过网上的搜索,我知道了还有
字典树
的概念,可以对大量的单词进行哈希存储,并且以此存储后,直接遍历一个树的分支就能得到最终的结果,感觉速度能快很多,只是牺牲了很大的内存空
wchyumo2009
·
2012-03-25 13:00
pid=1075&&
字典树
字典树
伤不起啊。。。
smallacmer
·
2012-03-19 21:00
pid=1251&&
字典树
字典树
水题,求公共前缀的个数。。。
smallacmer
·
2012-03-19 16:00
String
struct
null
insert
GDUFS1127 Forgotten Password DP
比赛时候想着
字典树
、AC自动机、再者加上DP什么的。赛后看了几眼代码,老师说是DP,趁着解题报告还没出来把它A了。【思路】由于单词长度只有20,所以可以从这里下文章。用20个字符串表示从当前
Human_CK
·
2012-03-18 23:00
IM
ZOJ-1888 Trie模板题..但要注意审题..
这道题很明显的
字典树
...边输入边建树..在每个单词的末尾字符标记单词...题目最终要按字典序输出某一频率的单词..那么就DFS一次树..结果就出来了..注意的细节是..: 1.单词一律转化为全小写
kk303
·
2012-03-17 11:00
数据结构中的树
数据结构中为了存储和查找的方便,用各种树结构来存储文件,本章就浅谈一下各种树的表示方法、特点及各自的用途,本章设计的树结构包括:二叉查找树(二叉排序树)、平衡二叉树(AVL树)、红黑树、B-树、B+树、
字典树
liuzhanchen1987
·
2012-03-06 15:00
数据结构
c
算法
搜索引擎
存储
终端
字典树
#include #include #include usingnamespacestd; constintkind=26; structTreenode{ intcount; Treenode*next[kind]; Treenode() { count=1; for(inti=0;inext[index]){ cur->next[index]->count++; } else{ cur-
likun_tech
·
2012-03-04 18:00
struct
null
search
insert
POJ-2001(trie
字典树
)
charss[1005][30]; structtrie { intcnt; trie*p[26]; }*root; voidmake_tree(char*s) { trie*r=root; trie*tmp; inti,j; for(i=0;s[i]!='\0';++i){ if(r->p[s[i]-'a']==NULL){ tmp=newtrie; tmp->cnt=0; for(j=0;jp
famousDT
·
2012-03-02 17:00
c
struct
tree
null
search
字典树
简单题:hdu1251题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251待会再分析,下面是代码:#include #include usingnamespacestd; constintMAX=26; #defineCLR(arr,val)memset(arr,val,sizeof(arr)) classTrie{ public:
xuzengqiang
·
2012-03-01 22:00
struct
null
存储
Class
ini
insert
【转】
字典树
[Trie]
转载自 matrush最终编辑 matrushTrie树也叫
字典树
,是一种用于快速检索的多叉树结构。如英文字母的
字典树
是一个26叉树。数字的
字典树
是一个10叉树。
w00w12l
·
2012-02-22 15:00
杭电 2846
字典树
变形
题目:RepositoryTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):1192 AcceptedSubmission(s):417ProblemDescriptionWhenyougoshopping,youcansearchinrepository
wmn_wmn
·
2012-02-18 17:00
String
null
Integer
search
insert
output
[
字典树
+KM]hdoj 2813:One fihgt one
大致题意: 吕布要跟曹操pk。吕布有n个小弟,曹操有m个。已知可以由k种打架的方式,每种方式都是一个吕布的小弟去虐另一个曹操的人,每种方式都有一个伤害值。而且吕布和曹操的人都只能干一架。求伤害值最少是多少。 大致思路: 二分图最小权匹配。初始值全部取负,求出最大匹配后再将这个值取负得到的就是答案。切记tire申请空间不要太给力,
暴风雪
·
2012-02-10 17:00
数据结构
ACM
km
字典树
hdoj 2813
[AC自动机]hdoj 2896:病毒侵袭
这道题用静态
字典树
的优化效果并不明显。 #include<iostream>
暴风雪
·
2012-02-01 02:00
数据结构
ACM
AC自动机
病毒侵袭
hdoj 2896
POJ 1002 487-3279
还有一些人用排序二叉树,
字典树
,快排做!真是牛叉!
xxx_bug
·
2012-01-27 22:00
Sicily 1426 Phone List
给出n个字符串,判断是否存在一个字符串是另一个字符串的前缀,典型的
字典树
的应用。
Detective_Xin
·
2012-01-27 21:00
hdu 3283 The Next Permutation
STL中的一个函数next_permutation()的运用~~这道题就是传说的
字典树
~~不太懂~~在网上找到这个题解~~必须理解这个函数是怎么写的~~~#include #include #include
xxx_bug
·
2012-01-25 18:00
permutation
hdu 3518
字典树
好像会超时。
w00w12l
·
2012-01-24 02:00
hdu 1298 T9
pid=1298
字典树
+DFS。。
字典树
用STL真吃香。。。
w00w12l
·
2012-01-21 03:00
hdu 1800 Flying to the Mars
这时还是果断码
字典树
!下面是AC代码:#include #include #include usingnamespacestd; intmain() { intn,i
w00w12l
·
2012-01-20 19:00
hdu 3260
pid=3460据说可以用
字典树
,但是不会。。我是用排序做的。有点贪心的感觉。其实 ans=输出(n)+ 相邻的两字符串不同的部分*2 -最大字符串(最后保留部分。)
w00w12l
·
2012-01-20 16:00
String
ini
hdu 2112 HDU Today
字典树
+Dijkstra
#include #include #include #defineth(a)this->a=a usingnamespacestd; constintmaxn=150+10; constintinf=0x3f3f3f3f; structtrie_t{ intlnk[64],val; voidinit() { memset(lnk,0,sizeof(lnk)); val=0; } }; const
wxfwxf328
·
2012-01-20 15:00
struct
search
ini
insert
字典树
模板
字典树
,又称单词查找树,Trie树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。
Ares_晓越
·
2012-01-19 15:19
Poj
字典树
模板
字典树
,又称单词查找树,Trie树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。
Detective_Xin
·
2012-01-19 15:00
搜索引擎
struct
null
存储
poj 2513 Colored Sticks (
字典树
+并查集+欧拉回路)
Colored Sticks Time Limit : 10000/5000ms (Java/Other) Memory Limit : 256000/128000K (Java/Other) Total Submission(s) : 1 Accepted Submission(s) : 1 Problem Descript
gzhu_101majia
·
2012-01-17 20:00
数据结构
C++
算法
ACM
HDU1671用指针实现的
字典树
用指针传递
字典树
,时空效率更高用字符串代替字符数组,更方便#include #include #include usingnamespacestd; stringstr[10005]; structdictree
mishifangxiangdefeng
·
2011-12-28 15:00
POJ 3630 Phone List
方法二:采用
字典树
实现对每组号码的存储,再逐一对组中的号码进行判断。这
furney
·
2011-12-25 22:00
list
null
存储
branch
电话
Numbers
POJ 1056 IMMEDIATE DECODABILITY
此题如果利用传统的搜索算法,在时间复杂度上不能很好地满足题目要求,因此考虑采用
字典树
实现。
furney
·
2011-12-24 15:00
上一页
71
72
73
74
75
76
77
78
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他