我目前正在编写升级系统,该系统最好避免针对特定更高版本的多个升级路径,但可能因版本分支而存在。所以我想在他/她添加新的升级路径时提醒管理员。
例如,现有的升级版本路径如下:
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
那么什么算法适合这种情况?
感谢。
答案 0 :(得分:1)
看起来你正试图在树上找到一个循环。您可以运行DFS(深度优先搜索)并标记叶子。如果你来到已经标记过的叶子,这意味着该叶子还有一条额外的路径(版本)