我在 python 中使用 trie-trees 实现了自动完成程序的变体,并与 Ubuntu 标准字典中的单词进行匹配。据我了解,特里树是最快的,但我意识到它们确实占用了大量空间。
我希望将其带到移动设备上,但是我非常担心内存限制。我的问题是:什么是存储全英文词典内容的最有效方法,并且还确保条目的最佳查找时间,因为这种结构将被大量查询/使用?
我在 python 中使用 trie-trees 实现了自动完成程序的变体,并与 Ubuntu 标准字典中的单词进行匹配。据我了解,特里树是最快的,但我意识到它们确实占用了大量空间。
我希望将其带到移动设备上,但是我非常担心内存限制。我的问题是:什么是存储全英文词典内容的最有效方法,并且还确保条目的最佳查找时间,因为这种结构将被大量查询/使用?
存储字典的一种非常有效的方法是有向无环字图(DAWG)。
以下是一些链接:
然后是 Trie 的一种变体,称为三元搜索尝试,这是非常内存效率和快速查找速度