【发布时间】:2017-05-02 16:42:53
【问题描述】:
以下算法在堆栈溢出异常后失败。请让我知道如何纠正它以在有向图中进行循环检测,或者如果可能的话,有人可以提供基于堆栈而不是递归的算法。
public boolean hasCycle(Graphnode<T> n) {
n.setMark(IN_PROGRESS);
for (Graphnode<T> m : n.getSuccessors()) {
if (m.getMark() == IN_PROGRESS) {
return true;
}
if (m.getMark() != DONE) {
if (hasCycle(m)) {
return true;
}
}
}
n.setMark(DONE);
return false;
}
谢谢, 维克兰特
【问题讨论】:
-
如果我的回答对您有帮助,请随时将此问题标记为已解决
标签: java graph directed-acyclic-graphs microsoft-distributed-file-system