Python数据结构与算法之字典树实现方法示例
本文实例讲述了Python数据结构与算法之字典树实现方法。分享给大家供大家参考,具体如下:
classTrieTree():
def__init__(self):
self.root={}
defaddNode(self,str):
#树中每个结点(除根节点),包含到该结点的单词数,以及该结点后面出现字母的键
nowdict=self.root
foriinrange(len(str)):
ifstr[i]notinnowdict:#发现新的组合方式
nowdict[str[i]]={'count':0,'prefix':str[:i+1]}
nowdict=nowdict[str[i]]#转移到下一个结点
nowdict['count']+=1
defcountWord(self,str):
#返回输入单词在树中出现的次数
nowdict=self.root
forsinstr:
ifsnotinnowdict:
return0
nowdict=nowdict[s]#匹配当前结点,转下一个结点
#到了这一步证明单词存在
returnnowdict['count']
if__name__=="__main__":
pass
Text=['b','abc','abd','bcd','abcd','efg','hii','bcd']
t=TrieTree()
forstrinText:
t.addNode(str)
printt.countWord('bcd')
>>>2
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。