ocaml: phase 5.1 mst_kruskal.ml baseline (5-node MST weight 11)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
Kruskal's minimum spanning tree using path-compressing union-find:
edges (w, u, v):
(1, 0, 1) (2, 1, 2) (3, 0, 3) (4, 2, 3) (5, 3, 4) (6, 0, 4)
After sorting by weight and greedily unioning:
pick (1,0,1) -> components: {0,1} {2} {3} {4}
pick (2,1,2) -> {0,1,2} {3} {4}
pick (3,0,3) -> {0,1,2,3} {4}
skip (4,2,3) -- already connected
pick (5,3,4) -> {0,1,2,3,4}
skip (6,0,4) -- already connected
MST weight = 1 + 2 + 3 + 5 = 11
Tests List.sort with 3-tuple destructuring lambda, compare on int,
Array.init with closure, in-place array mutation in find, boolean
union returning true iff merge happened.
147 baseline programs total.
This commit is contained in:
@@ -89,6 +89,7 @@
|
||||
"levenshtein.ml": 11,
|
||||
"memo_fib.ml": 75025,
|
||||
"mortgage.ml": 1073,
|
||||
"mst_kruskal.ml": 11,
|
||||
"merge_intervals.ml": 12,
|
||||
"merge_sort.ml": 44,
|
||||
"merge_two.ml": 441,
|
||||
|
||||
Reference in New Issue
Block a user