This is a C++ implementation of a graph, Dijkstra's shortest path algorithm using the STL's priority_queue container adapter to implement a priority queue which allows us to change the priority of the items in the queue, and a Monte Carlo simulation as a way of testing these.
More detailed description and road map, plus license:
license
README
An abstract base class for a graph G = (V, E):
Graph.h
A concrete implementation of a Graph that uses an adjacency list (rather than an adjacency matrix):
GraphImpl1.h
GraphImpl1.cpp
The rest:
Makefile
main.cpp - the Monte Carlo simulation is here.
PriorityQueue.hpp
Dijkstra.cpp
Dijkstra.h