字典树trie
一个树形结构,一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题
多数情况下可以通过用一个set来记录所有单词的prefix来替代,时间复杂度不变,空间复杂度略高
确定有限状态自动机
可以解决多个string查询prefix/suffix,如588, 1268, 745
trie+dfs结合解决字典题如 139,140
trie vs hashmap tradeoff
Trie非常适合前缀匹配操作, 在O(k)时间内找到以某个前缀开头的所有字符串,其中k是前缀的长度
稀疏字符串集合,Trie的空间复杂度可能较高
Trie的插入和查找时间复杂度为O(k),其中k是字符串的长度。对于较长的字符串,时间复杂度可能较高。
Trie可以用于按字典序排序字符串。
Hashmap的插入和查找时间复杂度为O(1),平均情况下非常高效。
Hashmap不适合前缀匹配操作。要找到以某个前缀开头的所有字符串,需要遍历整个哈希表,时间复杂度为O(n),其中n是哈希表的大小。
Hashmap中的键是无序的,因此不适合按字典序排序字符串。
Last updated