资 源 简 介
Matching Algorithm with Recursively Implemented StorAge (MARISA) is a static and space-efficient trie data structure. And libmarisa is a C++ library to provide an implementation of MARISA. Also, the package of libmarisa contains a set of command line tools for building and operating a MARISA-based dictionary.
A MARISA-based dictionary supports not only lookup but also reverse lookup, common prefix search and predictive search.
Lookup is to check whether or not a given string exists in a dictionary.
Reverse lookup is to restore a key from its ID.
Common prefix search is to find keys from prefixes of a given string.
Predictive search is to find keys starting with a given string.
The biggest advantage of libmarisa is that its dictionary size is considerably more compact than others. See below for the dictionary size of other implementations.