Python数据结构与算法之字典树实现方法示例
作者:hanahimi 时间:2022-02-28 19:42:37
本文实例讲述了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程序设计有所帮助。
来源:http://www.cnblogs.com/hanahimi/p/4693191.html
标签:Python,数据结构,算法,字典树
0
投稿
猜你喜欢
Blender Python编程创建发光材质示例详解
2022-08-20 21:06:19
基于Python实现文件分类器的示例代码
2023-06-02 12:49:10
Python基础之字典常见操作经典实例详解
2022-09-01 15:59:18
使用python自动追踪你的快递(物流推送邮箱)
2022-06-14 11:42:04
SQL server 2016 安装步骤图文教程
2024-01-26 07:55:59
PyCharm安装配置Qt Designer+PyUIC图文教程
2022-10-21 08:44:46
ORACLE 数据库RMAN备份恢复
2009-04-24 12:23:00
基于Python实现随机点名系统的示例代码
2023-05-05 20:53:52
selenium切换标签页解决get超时问题的完整代码
2023-08-26 09:41:25
FCKEditor v2.6 编辑器配置图解教程
2024-01-04 22:16:05
python3实现带多张图片、附件的邮件发送
2023-05-11 06:51:10
网页设计配色色相之黄金分割
2007-12-27 21:30:00
python之pyqt5通过按钮改变Label的背景颜色方法
2021-04-03 22:59:52
sqlserver2005 xml字段的读写操作
2024-01-16 23:00:37
Python常见数据结构详解
2021-10-28 22:07:33
Python脚本实现代码行数统计代码分享
2023-02-26 00:24:13
element-ui组件中input等的change事件中传递自定义参数
2024-06-16 19:07:27
给Python初学者的一些编程技巧
2023-05-27 21:41:30
openCV显著性检测的使用
2022-10-20 12:25:02
浅析SQL Server与Oracle数据库的区别
2007-10-31 11:39:00