最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python实现简单字典树的方法介绍

来源:动视网 责编:小采 时间:2020-11-27 14:25:59
文档

Python实现简单字典树的方法介绍

Python实现简单字典树的方法介绍:本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下:#coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串。 在此代码基础上扩展一下,就可以实现比较复杂的字典树,比如带统计数的,或支持更多
推荐度:
导读Python实现简单字典树的方法介绍:本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下:#coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串。 在此代码基础上扩展一下,就可以实现比较复杂的字典树,比如带统计数的,或支持更多


本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下:

#coding=utf8
"""代码实现了最简单的字典树,只支持由小写字母组成的字符串。
在此代码基础上扩展一下,就可以实现比较复杂的字典树,比如带统计数的,或支持更多字符的字典树,
或者是支持删除等操作。
"""
class TrieNode(object):
 def __init__(self):
 # 是否构成一个完成的单词
 self.is_word = False
 self.children = [None] * 26
class Trie(object):
 def __init__(self):
 self.root = TrieNode()
 def add(self, s):
 """Add a string to this trie."""
 p = self.root
 n = len(s)
 for 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
 return
 def search(self, s):
 """Judge whether s is in this trie."""
 p = self.root
 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实现简单字典树的方法介绍相关文章请关注PHP中文网!

文档

Python实现简单字典树的方法介绍

Python实现简单字典树的方法介绍:本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下:#coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串。 在此代码基础上扩展一下,就可以实现比较复杂的字典树,比如带统计数的,或支持更多
推荐度:
标签: 实现 简单的 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top