Python数据结构与算法之字典树实现方法示例
作者:hanahimi 发布时间:2022-02-28 19:42:37
标签:Python,数据结构,算法,字典树
本文实例讲述了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
0
投稿
猜你喜欢
- 整个数据获取的信息是通过房源平台获取的,通过下载网页元素并进行数据提取分析完成整个过程导入相关的网页下载、数据解析、数据处理库from fa
- 方法一:<span style="font-size:14px;">#read txt method one
- 支持向量机可以用来拟合线性回归。 相同的最大间隔(maximum margin)的概念应用到线性回归拟合。代替最大化分割两类目标是,最大化分
- 1、纯粹的截取字符串function cutstr(thestr1,strlen) dim l,t,c&nbs
- 对于字典,通过“键”获得“值”非常简单,但通过“值”获得“键”则需绕些弯子。一、通用:自行定义函数方式假设:输入:一个字典(dic)+要找的
- 1、查找字符串除了使用index()方法在字符串中查找指定元素,还可以使用find()方法在一个较长的字符串中查找子串。如果找到子串,返回子
- 本文实例讲述了thinkphp3.x连接mysql数据库的方法。分享给大家供大家参考,具体如下:惯例配置文件:ThinkPHP/conf/c
- 一、使用dotnet add package 命令行实现首先可以去这个网站:https://www.nuget.org/ 查找想要添加的引用
- 1. getattr()函数是Python自省的核心函数,具体使用大体如下:class A: def __init__(self): sel
- 如果你经常使用python开发GUI程序的话,那么就知道,有时你需要很长时间来执行一个任务。当然,如果你使用命令行程序来做的话,你回非常惊讶
- 一、Mysql锁是什么?锁有哪些类别?锁定义: 同一时间同一资源只能被一个线程访问  
- 当我们花费大量的精力训练完网络,下次预测数据时不想再(有时也不必再)训练一次时,这时候torch.save(),torch.load()就要
- 那天偶尔看到看到一个小问题:两个不等长列表a=[1,2,3],b=[4,5,6,7],求它们对应元素的乘积的和。我一开始想到的方法就是选择更
- 例如下面这段代码 { var temp = "12"; } alert(temp); //输出 12 如果按照通常的编程
- 写在前面最近在更新我服务器上的python以及pip版本的时候,碰见了令人头痛的问题,就是我执行了升级指令之后,升级也正常的Successf
- 搭建FTP,或者是搭建网络文件系统,这些方法都能够实现Linux的目录共享。但是FTP和网络文件系统的功能都过于强大,因此它们都有一些不够方
- Javascript脚本获取form和input内容的方法随着js的发展,许多的网页数据处理完全可以由js脚本解决,而不需要发送到服务器这里
- 目标:文件的概念文件的基本操作文件/文件夹的常用操作文本文件的编码方式1.文件的概念1.1文件的概念和作用计算机的文件,就是存储在某种长期存
- 如下所示:# -*- coding:utf-8 -*-import xlrdimport sysimport reimport jsondi
- 本文介绍了一个较为通用的获取 checkbox 值的方法,希望对新手有用。<script type="text/javasc