遍历后缀树

时间:2014-04-02 02:44:03

标签: algorithm data-structures tree traversal suffix-tree

我用java语言创建了一个后缀树。我们知道后缀树的一个应用是从树中搜索字符串。所以我的问题是,如果搜索字符串存在于后缀树中,我如何遍历后缀树的每个节点以查找。

提前谢谢。

1 个答案:

答案 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)
    }

}

因此,您可以看到这是一个递归函数,您可以创建最初测试根节点以查看它是否是我们想要查找的字符串。如果根节点小于我们想要的字符串,我们想要遍历正确。如果它更大,则横向移动。我们可以调用相同的函数,但是传入我们要比较它的新节点,直到找到我们想要的字符串。

希望它有所帮助。