# Functor Path.Dijkstra

    module Dijkstra: functor (G : G) -> functor (W : WEIGHT  with type label = G.E.label) -> sig .. end

Parameters: |
`G` | : | `G`
`W` | : | `WEIGHT with type label = G.E.label`

    val shortest_path : Path.G.t -> G.V.t -> G.V.t -> Path.G.E.t list * W.t

`shortest_path g v1 v2` computes the shortest path from vertex `v1` to vertex `v2` in graph `g`. The path is returned as the list of followed edges, together with the total length of the path. raise `Not_found` if the path from `v1` to `v2` does not exist.

Complexity: at most O((V+E)log(V))