python实现字典树_Python实现简单字典树的⽅法本⽂实例讲述了Python实现简单字典树的⽅法。分享给⼤家供⼤家参考,具体如下:
#coding=utf8
"""代码实现了最简单的字典树,只⽀持由⼩写字母组成的字符串。
在此代码基础上扩展⼀下,就可以实现⽐较复杂的字典树,⽐如带统计数的,或⽀持更多字符的字典树,
或者是⽀持删除等操作。
"""
iomanip与iostreamclass TrieNode(object):
def __init__(self):
# 是否构成⼀个完成的单词
self.is_word = False
self.children = [None] * 26
class Trie(object):
def __init__(self):x86安装linux
< = TrieNode()
def add(self, s):
"""Add a string to this trie."""
p =
n = len(s)
如何下载matlabfor i in range(n):
if p.children[ord(s[i]) - ord('a')] is None:
new_node = TrieNode()
if i == n - 1:
new_node.is_word = True
p.children[ord(s[i]) - ord('a')] = new_node
p = new_node
else:
p = p.children[ord(s[i]) - ord('a')] if i == n - 1:
p.is_word = True
python入门教程非常详细wordreturn
def search(self, s):
"""Judge whether s is in this trie."""
p =
for c in s:
p = p.children[ord(c) - ord('a')] if p is None:
return False
if p.is_word:
return True
else:
return False
if __name__ == '__main__':
trie = Trie()
trie.add('str')
trie.add('acb')
伦勃朗光 三角光trie.add('acblde')
print trie.search('acb')
print trie.search('ac')
trie.add('ac')
print trie.search('ac')
更多关于Python相关内容可查看本站专题:《Python字典操作技巧汇总》、《Python正则表达式⽤法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使⽤技巧总结》、《Python字符串操作技巧汇总》、《Python⼊门与进阶经典教程》及《Python⽂件与⽬录操作技巧汇总》
希望本⽂所述对⼤家Python程序设计有所帮助。
您可能感兴趣的⽂章:详解字典树Trie结构及其Python代码实现Python数据结构与算法之完全树与最⼩堆实例Python数据结构与算法之⼆叉树结构定义与遍历⽅法详解Python数据结构与算法之图的基本实现及迭代器实例详解Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例Python数据结构
与算法之列表(链表,linked list)简单实现Python数据结构与算法之链表定义与⽤法实例详解【单链表、循环链表】Python数据结构与算法之图结构(Graph)实例分析Python数据结构与算法之字典树实现⽅法⽰例
while循环实例图解

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。