UNPKG

@thi.ng/adjacency

Version:

Sparse & bitwise adjacency matrices, lists and selected traversal algorithms for directed & undirected graphs

18 lines (17 loc) 426 B
import { sortByCachedKey } from "@thi.ng/arrays/sort-cached"; import { DisjointSet } from "@thi.ng/disjoint-set"; const mst = (edges, maxID, cost, verts) => { const graph = new DisjointSet(maxID + 1); const res = []; for (let e of sortByCachedKey(edges, cost)) { const v = verts(e); if (!graph.unified(v[0], v[1])) { graph.union(v[0], v[1]); res.push(e); } } return res; }; export { mst };