ocaml: phase 5.1 floyd_warshall.ml baseline (4-node APSP, dist(0,3)=9)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
Floyd-Warshall all-pairs shortest path with triple-nested for-loop:
for k = 0 to n - 1 do
for i = 0 to n - 1 do
for j = 0 to n - 1 do
if d.(i).(k) + d.(k).(j) < d.(i).(j) then
d.(i).(j) <- d.(i).(k) + d.(k).(j)
done
done
done
Graph (4 nodes, directed):
0->1 weight 5, 0->3 weight 10, 1->2 weight 3, 2->3 weight 1
Direct edge 0->3 = 10, but path 0->1->2->3 = 5+3+1 = 9.
Tests 2D array via Array.init with closure, nested .(i).(j) read
+ write, triple-nested for, in-place mutation under aliasing.
148 baseline programs total.
This commit is contained in:
@@ -407,6 +407,14 @@ _Newest first._
|
||||
binary search tree (`type 'a tree = Leaf | Node of 'a * 'a tree *
|
||||
'a tree`) with insert + in-order traversal. Tests parametric ADT,
|
||||
recursive match, List.append, List.fold_left.
|
||||
- 2026-05-10 Phase 5.1 — floyd_warshall.ml baseline (all-pairs
|
||||
shortest path on 4-node weighted graph, dist 0→3 = 9). Standard
|
||||
O(n³) DP: for each intermediate vertex k, relax all (i,j) pairs.
|
||||
Uses a 2D array implemented as `Array.init n (fun _ -> Array.make
|
||||
n inf)`, exercising nested array indexing `g.(i).(j)`. Direct
|
||||
edge 0→3 weighs 10; via 0→1→2→3 = 5+3+1 = 9. Tests 2D array
|
||||
construction with closures, triple-nested for-loops, nested
|
||||
`.(i).(j)<-` mutation. 148 baseline programs total.
|
||||
- 2026-05-10 Phase 5.1 — mst_kruskal.ml baseline (Kruskal MST on
|
||||
5-node, 6-edge graph → MST weight 11). Sort edges by weight,
|
||||
greedily add edges whose endpoints are in different components
|
||||
|
||||
Reference in New Issue
Block a user