Python数据结构与算法之字典树实现方法示例
发布时间:2020-12-17 07:44:45 所属栏目:Python 来源:网络整理
导读:本篇章节讲解Python数据结构与算法之字典树实现方法。供大家参考研究具体如下: class TrieTree(): def __init__(self): self.root = {} def addNode(self,str): # 树中每个结点(除根节点),包含到该结点的单词数,以及该结点后面出现字母的键 now
本篇章节讲解Python数据结构与算法之字典树实现方法。分享给大家供大家参考,具体如下: class TrieTree(): def __init__(self): self.root = {} def addNode(self,str): # 树中每个结点(除根节点),包含到该结点的单词数,以及该结点后面出现字母的键 nowdict = self.root for i in range(len(str)): if str[i] not in nowdict: # 发现新的组合方式 nowdict[str[i]] = {'count':0,'prefix':str[:i+1]} nowdict = nowdict[str[i]] # 转移到下一个结点 nowdict['count'] += 1 def countWord(self,str): # 返回输入单词在树中出现的次数 nowdict = self.root for s in str: if s not in nowdict: return 0 nowdict = nowdict[s] # 匹配当前结点,转下一个结点 # 到了这一步证明单词存在 return nowdict['count'] if __name__=="__main__": pass Text = ['b','abc','abd','bcd','abcd','efg','hii','bcd'] t = TrieTree() for str in Text: t.addNode(str) print t.countWord('bcd') >>> 2 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- python – 为什么numpy.spacing(0)给我一个不可能
- Python实现的根据文件名查找数据文件功能示例
- 【python-leetcode259-双指针】三个数的最小和
- 《head first python》— 函数定义、模块与发布、
- python – Pandas过滤数据基于开始时出现的内容
- Python按行读取文件的实现方法【小文件和大文件读
- python – 使用大量数据操作将JSON加速到数据帧
- 在自定义Python Markdown扩展的输出中禁用HTML编
- python – 在SQLAlchemy中动态设置__tablename__
- python – hashlib.md5()TypeError:Unicode对象
热点阅读