文件名称:双数组 DoubleArray Trie树的数组实现 双数组字典
文件大小:7KB
文件格式:JAVA
更新时间:2013-11-15 04:55:53
双数组 DoubleArray Trie树的数组实现 双数组字典
Trie树是搜索树的一种,来自英文单词"Retrieval"的简写,可以建立有效的数据检索组织结构,是中文匹配分词算法中词典的一种常见实现。它本质上是一个确定的有限状态自动机(DFA),每个节点代表自动机的一个状态。在词典中这种状态包括"词前缀","已成词"等。 双数组Trie(Double-ArrayTrie)是trie树的一个简单而有效的实现,由两个整数数组构成,一个是base[],另一个是check[]。设数组下标为i,如果base[i],check[i]均为0,表示该位置为空。如果base[i]为负值,表示该状态为词语。Check[i]表示该状态的前一状态,t=base[i]+a,check[t]=i