public DijkstraSP(EdgeWeightDirectedGraph g, int s) { m_edgeTo = new DirectedEdge[g.V()]; m_distTo = new double[g.V()]; m_pq = new IndexMinHeap <double>(g.V()); for (int v = 0; v < g.V(); ++v) { m_distTo[v] = Double.PositiveInfinity; } m_distTo[s] = 0; m_pq.insert(s, 0); while (!m_pq.isEmpty()) { Relax(g, m_pq.delMin()); } }
public PrimMST(EdgeWeightedGraph g) { m_edgeTo = new Edge[g.V()]; m_distTo = new double[g.V()]; m_marked = new bool[g.V()]; for (int v = 0; v < g.V(); ++v) { m_distTo[v] = Double.PositiveInfinity; } m_pq = new IndexMinHeap <double>(g.V()); m_distTo[0] = 0.0d; m_pq.insert(0, 0.0d); while (!m_pq.isEmpty()) { Visit(g, m_pq.delMin()); } }