#pragma once #include #include #include #include "EdgeWeightedDigraph.h" #include "PriorityQueue.h" class DijkstraSP { private: std::map edgeTo; std::vector distToVect; Utils::PriorityQueue pq; void relax(EdgeWeightedDigraph G, int v); public: DijkstraSP() { }; DijkstraSP(EdgeWeightedDigraph G, int s); double distTo(int v) const; // Abstände vom Startvertex zu v bool hasPathTo(int v) const; // Überprüft die existens eines Pfades std::vector pathTo(int v); // Kanten des kürzsesten Weges };