From b24f1f61cb8f0e2b136c0432208cad84c8b23bb3 Mon Sep 17 00:00:00 2001 From: Eddie Nuno Date: Wed, 26 Oct 2022 23:11:39 -0700 Subject: [PATCH] chore: use internal queue definition in BFS (#1228) --- Graphs/BreadthFirstSearch.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Graphs/BreadthFirstSearch.js b/Graphs/BreadthFirstSearch.js index 1bee2e3cd..abac118ac 100644 --- a/Graphs/BreadthFirstSearch.js +++ b/Graphs/BreadthFirstSearch.js @@ -1,3 +1,5 @@ +import Queue from '../Data-Structures/Queue/Queue' + /** * Breadth-first search is an algorithm for traversing a graph. * @@ -12,11 +14,12 @@ export function breadthFirstSearch (graph, startingNode) { const visited = new Set() // queue contains the nodes to be explored in the future - const queue = [startingNode] + const queue = new Queue() + queue.enqueue(startingNode) - while (queue.length > 0) { + while (!queue.isEmpty()) { // start with the queue's first node - const node = queue.shift() + const node = queue.dequeue() if (!visited.has(node)) { // mark the node as visited @@ -25,7 +28,7 @@ export function breadthFirstSearch (graph, startingNode) { // put all its neighbors into the queue for (let i = 0; i < neighbors.length; i++) { - queue.push(neighbors[i]) + queue.enqueue(neighbors[i]) } } }