Dijkstra's algorithm for the single-source shortest path problem in
an undirected graph whose edges have integer weights.
To execute the algorithm, use the execute method, and then make
subsequent calls to the getDist method to
obtain the shortest distance from the start to any given vertex.