python实现 字典树

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/imotolove/article/details/80633057

关于字典树,相信搜到这篇博客的人一定先看了百度百科。

这里使用hash实现

val = [0 for i in range(100000)] #字典树,数组实现
n=int(raw_input())
for i in range(n):
    s = raw_input()
    l = s.__len__()
    num=0
    for j in range(l):
        num=num*27
        num+=ord(s[j])-97+1
        val[num]=val[num]+1
m=int(raw_input())
for i in range(m):
    s = raw_input()
    l = s.__len__()
    num = 0
    for j in range(l):
        num = num * 27
        num += ord(s[j])- 97 + 1 #强制转换
    print(val[num])


运行截图如下,输出查询的前缀出现多少次

猜你喜欢

转载自blog.csdn.net/imotolove/article/details/80633057