Trie树的核心思想是用空间换时间,通过在树中保存字符串的公共前缀,来达到加速检索的目的。
例如,对于一棵存储由英文字母组成的字符串的trie树,如下图
Trie树在实现的时候,可以用左儿子右兄弟的表示方法,也可以在每个节点处开设一个数组,如上图的方法。
Trie树的主要操作是插入、查询,也可以进行删除。
插入和查询的复杂度都是o(length),length是待插入或者查询的字符串的长度。
删除时,需要从下向上删除,免得多删除了信息,复杂度也是o(length)。
Trie树的核心思想是用空间换时间,通过在树中保存字符串的公共前缀,来达到加速检索的目的。
例如,对于一棵存储由英文字母组成的字符串的trie树,如下图
Trie树在实现的时候,可以用左儿子右兄弟的表示方法,也可以在每个节点处开设一个数组,如上图的方法。
Trie树的主要操作是插入、查询,也可以进行删除。
插入和查询的复杂度都是o(length),length是待插入或者查询的字符串的长度。
删除时,需要从下向上删除,免得多删除了信息,复杂度也是o(length)。