Computing the shortest path of an edge-and-vertex class vector based graph using a heap based priority queue