我想获得给定Java代码中最长的路径。此代码可能以图形的形式出现。是否有任何开源工具/ API可以获取此信息?
答案 0 :(得分:3)
http://en.wikipedia.org/wiki/Bellman-Ford_algorithm
只是把权重作为负面;并且不允许循环中所有顶点之和的任何循环为负(表示不定式循环)
答案 1 :(得分:1)
如同最长的执行路径?
这似乎不太容易实现。 您当然可以将Java字节码“解码”为“Java Assembly”(这是什么名称?),并根据代码中的分支创建图形。
问题是你的图几乎肯定会有周期,除非你开始模拟执行,否则你最长的路径将是无限的。
答案 2 :(得分:0)
要找到最长的路径,您可以考虑每条可能的路径并花费最长的路径。注意:如果你有一个循环,这将是无限的。
BTW:通常人们会尝试找到最短的路径。