From 644d9b59b8ca972d77fd3e34f08cdf8dcb2c8c31 Mon Sep 17 00:00:00 2001 From: Edson Neto <72220739+emn2@users.noreply.github.com> Date: Tue, 5 Oct 2021 08:40:54 -0300 Subject: [PATCH] BFS 0/1 Algorithm --- Graphs/bfs0-1.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Graphs/bfs0-1.cpp diff --git a/Graphs/bfs0-1.cpp b/Graphs/bfs0-1.cpp new file mode 100644 index 0000000..5ade04f --- /dev/null +++ b/Graphs/bfs0-1.cpp @@ -0,0 +1,19 @@ +vector d(n, INF); +d[s] = 0; +deque q; +q.push_front(s); +while (!q.empty()) { + int v = q.front(); + q.pop_front(); + for (auto edge : adj[v]) { + int u = edge.first; + int w = edge.second; + if (d[v] + w < d[u]) { + d[u] = d[v] + w; + if (w == 1) + q.push_back(u); + else + q.push_front(u); + } + } +}