Trie树的构建、插入、查找操作-python

g功能:快速查找前缀符、字符

复制代码
class Trie(object):
    def __init__(self):
        self.child = {}
    def insert(self, word):
        current = self.child
        for w in word:
            if w not in current:
                current[w] = {}  # 没有该前缀符,新建一个dict存储
            current = current[w] # 指向下一个深度结构
        current['#'] = 1  # 插入完成后是一个空{},赋予其一个结束标志位
    def search(self, word):
        current = self.child
        for w in word:
            if w not in current:
                return False
            current = current[w]     # 更新
        return '#' in current
    def search_prefix(self, prefix):
        current = self.child
        for w in prefix:
            if w not in current:
                return False
            current = current[w]     # 更新
        return True
t = Trie()
t.insert("deng")
复制代码

 

posted @   今夜无风  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示