Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将trie转换为反向trie?_String_Algorithm_Data Structures_Trie - Fatal编程技术网

String 将trie转换为反向trie?

String 将trie转换为反向trie?,string,algorithm,data-structures,trie,String,Algorithm,Data Structures,Trie,假设我有一个包含许多字符串的数据结构。要在trie中查找字符串,我将从根开始,按照顺序跟随标有字符串适当字符的指针,直到到达给定节点 现在假设我想为同一组字符串构建一个“反向trie”,在这里,我不是从第一个字符开始查找字符串,而是从最后一个字符开始查找字符串 是否有一种有效的算法将尝试转换为反向尝试?在最坏的情况下,我总是可以列出trie中的所有字符串,然后将它们一次一个地插入到反向trie中,但似乎有更好、更聪明的解决方案。但是如果您的排序标准基于字符串的反向,那么trie中的节点基本上是随

假设我有一个包含许多字符串的数据结构。要在trie中查找字符串,我将从根开始,按照顺序跟随标有字符串适当字符的指针,直到到达给定节点

现在假设我想为同一组字符串构建一个“反向trie”,在这里,我不是从第一个字符开始查找字符串,而是从最后一个字符开始查找字符串


是否有一种有效的算法将尝试转换为反向尝试?在最坏的情况下,我总是可以列出trie中的所有字符串,然后将它们一次一个地插入到反向trie中,但似乎有更好、更聪明的解决方案。

但是如果您的排序标准基于字符串的反向,那么trie中的节点基本上是随机顺序的。也就是说,根据字母顺序排列的序列
[aardvark,bat,cat,dog,大象,fox]
,颠倒单词不会给出序列
[xof,tnahpele,god,tac,tab,kravdraa]


换句话说,没有比构建反向trie更聪明的解决方案了。

反向trie与原始trie没有明显的关系,因此可能没有更好的解决方案。