双数组Trie树(DAT) 学习笔记

Trie 树是一种利用空间换时间的数据结构,占用的内存会比较大。也正是因为这个原因,实际工程项目中都是使用的改进版 Trie 树例如双数组 Trie 树(Double-Array Trie,DAT)。

在双数组所有键中包含的字符之间的联系都是通过简单的数学加法运算表示,不仅提高了检索速度,而且省去了链式结构中使用的大量指针,节省了存储空间。

如果DAT与AC自动机结合,可以达到很高的多模式匹配性能

双数组Trie树(DoubleArrayTrie)Java实现

img_show