郁郁青青 长过千寻

trie字典树

    字符串

  1. INSERT(s)
  2. QUERY(s)

INSERT(s)

1
2
3
4
5
6
7
8
9
10
11
u:=0
for i:=0 to (字符串s的长度-1)
ch:=(s[i]的字母表编号)
if c[u,ch]=0
c[sz,...]全部置零
c[u,ch]:=sz
sz:=sz+1
endif
u:=c[u][ch]
cnt[u]:=cnt[u]+1
endfor

QUERY(s)

1
2
3
4
5
6
7
for i:=0 to (字符串s的长度-1)
ch:=(s[i]的字母表编号)
if c[u,ch]=0||u><0&&cnt[u]<=1
return i endif
u=c[u,ch]
endfor
return n
页阅读量:  ・  站访问量:  ・  站访客数: