Files
ADS/P4/DijkstraSP.h
2025-02-21 13:17:35 +01:00

26 lines
608 B
C++
Executable File

#pragma once
#include <vector>
#include <queue>
#include <map>
#include "EdgeWeightedDigraph.h"
#include "PriorityQueue.h"
class DijkstraSP {
private:
std::map<int, DirectedEdge> edgeTo;
std::vector<double> distToVect;
Utils::PriorityQueue<int> 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<DirectedEdge> pathTo(int v); // Kanten des kürzsesten Weges
};