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
  • asp之家 网络编程 m.aspxhome.com