Generation

generate functionSat, 28 Jan 2023

Dijkstra algorithm

++ #include <iostream> #include <vector> #include <unordered_set> using namespace std; template <typename T> void print(const T& collection, const string& label="") { if (!label.empty()) { cout << label << ": "; } for (const auto& e : collection) { cout << e << " "; } cout << endl; } class Graph { struct Node { int id; int weight; Node(int id, int weight) : id(id), weight(weight) {} }; struct Vertex { int distance = numeric_limits<int>::max(); int previous = -1; unordered_set<Node> neighbours; }; vector<Vertex> vertices; public: Graph(int num_vertices): vertices(num_vertices) {} void add_edge(int u, int v, int weight) {

Questions about programming?Chat with your personal AI assistant