2026-09-10 15:40:10 +08:00
|
|
|
var _ = require("../lodash");
|
|
|
|
|
var tarjan = require("./tarjan");
|
|
|
|
|
|
|
|
|
|
module.exports = findCycles;
|
|
|
|
|
|
|
|
|
|
function findCycles(g) {
|
|
|
|
|
return _.filter(tarjan(g), function(cmpt) {
|
|
|
|
|
return cmpt.length > 1 || (cmpt.length === 1 && g.hasEdge(cmpt[0], cmpt[0]));
|
|
|
|
|
});
|
|
|
|
|
}
|