引言
在做中文分词的项目中,需要重复读取词库中的数据。因此如果简单得将词库中的词语读取到列表中会降低会降低每次扫描的效率。于是采用Trie(字典树)的数据结构来进行存储。
在这篇博文中,已经对Trie的原理做了比较清楚的解释。相比于英文,中文其实是可以通过utf-8
编码存储的,把一个汉字分成三个字节,每个字节存储在一个节点里。
在此就不多说了,直接上代码。
class TrieNode(object):
def __init__(self):
self.value = None
self.children = {
}
class Trie(object):
def __init__(self):
self.root