我用java语言创建了一个后缀树。我们知道后缀树的一个应用是从树中搜索字符串。所以我的问题是,如果搜索字符串存在于后缀树中,我如何遍历后缀树的每个节点以查找。
提前谢谢。
答案 0 :(得分:0)
你应该发布你的代码......
我假设这是一棵二叉树...继承人伪代码
findString(RootNode,StringWeWant){
if RootNode == StringWeWant{
WERE DONE
}
else if RootNode < StringWeWant (string comparison){
findString(RootNode.rightchild, StringWeWant)
}
else{
findString(RootNode.leftchild,StringWeWant)
}
}
因此,您可以看到这是一个递归函数,您可以创建最初测试根节点以查看它是否是我们想要查找的字符串。如果根节点小于我们想要的字符串,我们想要遍历正确。如果它更大,则横向移动。我们可以调用相同的函数,但是传入我们要比较它的新节点,直到找到我们想要的字符串。
希望它有所帮助。