树结构破解检测的算法?

时间:2015-05-16 16:54:02

标签: algorithm tree

我目前正在编写升级系统,该系统最好避免针对特定更高版本的多个升级路径,但可能因版本分支而存在。所以我想在他/她添加新的升级路径时提醒管理员。

例如,现有的升级版本路径如下:

        1.0
        /   \
    1.1     1.2
    /
1.3

然后,当添加版本1.4时,新版本如下所示:

        1.0
        /   \
    1.1     1.2
    /       |
1.3         |
    \     /
    1.4

此时我想要的是提示说v1.0存在2个升级路径:

一个。 1.0 - 1.1 - 1.3 - 1.4

湾1.0 - 1.2 - 1.4

那么什么算法适合这种情况?

感谢。

1 个答案:

答案 0 :(得分:1)

看起来你正试图在树上找到一个循环。您可以运行DFS(深度优先搜索)并标记叶子。如果你来到已经标记过的叶子,这意味着该叶子还有一条额外的路径(版本)