我试图理解和使用这个Double-Array Trie implementation。但是,我似乎可以理解他们提出的理论实现与代码之间的类比。
准确地说,以下是使用的主要 Trie 结构:
struct _Trie {
AlphaMap *alpha_map;
DArray *da;
Tail *tail;
Bool is_dirty;
};
如果有人使用过这个实现,您能否提供一个高级解释,说明以下结构的使用以及与基本数组和检查数组的双数组概念的关系。特别是 AlphaMap。
提前致谢,