Spaces:
Build error
Build error
import * as _ from 'lodash-es'; | |
export { components }; | |
function components(g) { | |
var visited = {}; | |
var cmpts = []; | |
var cmpt; | |
function dfs(v) { | |
if (_.has(visited, v)) return; | |
visited[v] = true; | |
cmpt.push(v); | |
_.each(g.successors(v), dfs); | |
_.each(g.predecessors(v), dfs); | |
} | |
_.each(g.nodes(), function (v) { | |
cmpt = []; | |
dfs(v); | |
if (cmpt.length) { | |
cmpts.push(cmpt); | |
} | |
}); | |
return cmpts; | |
} | |