gpt4 book ai didi

c - 双数组Trie的一种实现

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:22 25 4
gpt4 key购买 nike

我正在尝试理解和使用这个 Double-Array Trie implementation .但是,我似乎可以理解他们提出的理论实现与代码之间的类比。
准确的说,下面是主要使用的Trie结构:

struct _Trie {
AlphaMap *alpha_map;
DArray *da;
Tail *tail;

Bool is_dirty;
};

如果有人使用过此实现,能否请您对以下结构的使用以及与基本数组和检查数组的双数组概念的关系提供高级解释。特别是 AlphaMap。

提前致谢

最佳答案

libdatrie 将 unicode 字符转换为紧凑的内部表示;您必须在创建 trie 时定义允许范围的列表。 alpha_map 是字符范围的链表。

da 是双数组结构。它包含 basecheck 数组。

tail 是一种用于存储非分支后缀的数据结构(参见“后缀压缩”)。

is_dirty 是一个标志,如果 trie 还没有存储到磁盘,或者如果它在从磁盘加载后被更改,则设置为 TRUE。

关于c - 双数组Trie的一种实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10959153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com