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]) } } }