微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐