Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def floyd[V, E, VW, EW](g: MutableGraph[V, E, VW, EW])(implicit ew: Monoid[EW] with Order[EW]) = {
- for (i <- g.vertices; j <- g.vertices; k <- g.vertices;
- ikw <- g.edge(i, k); kjw <- g.edge(k, j)) {
- val ij = g.edge(i, j)
- if (ij.isEmpty || ((ikw |+| kjw) lt ij.get))
- g.setEdge(i, j, Some(ikw |+| kjw))
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement