Algorithm 在后缀树中遍历
我用java语言创建了一个后缀树。我们知道后缀树的应用之一是从树中搜索字符串。所以我的问题是,我如何遍历后缀树的每个节点来查找后缀树中是否存在搜索字符串Algorithm 在后缀树中遍历,algorithm,data-structures,tree,traversal,suffix-tree,Algorithm,Data Structures,Tree,Traversal,Suffix Tree,我用java语言创建了一个后缀树。我们知道后缀树的应用之一是从树中搜索字符串。所以我的问题是,我如何遍历后缀树的每个节点来查找后缀树中是否存在搜索字符串 提前谢谢你。你应该发布你的代码 我假设这是一棵二叉树。。。这是伪代码 findString(RootNode,StringWeWant){ if RootNode == StringWeWant{ WERE DONE } else if RootNode < StringWeWant (string co
提前谢谢你。你应该发布你的代码 我假设这是一棵二叉树。。。这是伪代码
findString(RootNode,StringWeWant){
if RootNode == StringWeWant{
WERE DONE
}
else if RootNode < StringWeWant (string comparison){
findString(RootNode.rightchild, StringWeWant)
}
else{
findString(RootNode.leftchild,StringWeWant)
}
}
findString(RootNode,StringWeWant){
如果RootNode==StringWeWant{
完成
}
如果RootNode
正如您所看到的,这是一个递归函数,您可以创建它来测试根节点,看看它是否是我们想要找到的字符串。如果根节点小于所需的字符串,则需要向右遍历。如果大于,则向左遍历。我们可以调用相同的函数,但是传入我们想要比较的新节点,直到找到我们想要的字符串
希望有帮助。遍历后缀树可能与遍历二进制搜索树没有太大区别。如果您有一些您已经编写的代码,您能突出您感到困惑的地方吗?这篇文章很好地介绍了后缀树,包括对如何执行搜索的描述。此外,您还应该花一些时间阅读相关问题(见右侧列表)和相关答案。我想你会在那里找到答案。我正在学习算法课程,我不知道如何在后缀树中进行遍历。我还没有写任何代码。在internet上有许多后缀树的实现,但与遍历无关。根据我的理解,后缀树的一个节点可能有两个以上的子节点。所以你有一个字符串的后缀树,你正在搜索原始字符串的子字符串?是的,我有一个字符串的后缀树,我想从这棵树中搜索一个子字符串。不,后缀树与二进制搜索树有很大不同。你的回答一点也不恰当。