From 8303f85f5d396afd05b50ea129655c9066d50c03 Mon Sep 17 00:00:00 2001 From: Archaengel Date: Wed, 26 Oct 2022 10:34:31 -0700 Subject: [PATCH] Use repo's own queue in BFS --- Graphs/BreadthFirstSearch.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Graphs/BreadthFirstSearch.js b/Graphs/BreadthFirstSearch.js index 1bee2e3cd3..abac118ac6 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]) } } }