首页 > 学院 > 开发设计 > 正文

字母查找树

2019-11-08 01:14:05
字体:
来源:转载
供稿:网友

字母查找树(letter trie)是一种可以用来索引词汇的数据结构,一次一个字母。


构建一个字母查找树:一个++递归++函数建立一个嵌套的字典结构,每一级嵌套包含给定前缀的所有单词,而子查找树含有所有可能的后续词

In [15]: def insert(trie, key, value): ...: if key: ...: first, rest = key[0], key[1:] ...: if first not in trie: ...: trie[first] = {} ...: insert(trie[first], rest, value) ...: else: ...: trie['value'] = value ...: In [16]: import nltkIn [17]: trie = nltk.defaultdict(dict)In [18]: insert(trie, 'chat', 'cat')In [19]: insert(trie, 'chien', 'dog')In [20]: insert(trie, 'chair', 'flesh')In [21]: insert(trie, 'chic', 'stylist')In [22]: trie = dict(trie)In [23]: trie['c']['h']['a']['t']['value']Out[23]: 'cat'In [25]: PRint trie{'c': {'h': {'a': {'i': {'r': {'value': 'flesh'}}, 't': {'value': 'cat'}}, 'i': {'c': {'value': 'stylist'}, 'e': {'n': {'value': 'dog'}}}}}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表