chore: use internal queue definition in BFS (#1228)

This commit is contained in:
Eddie Nuno
2022-10-26 23:11:39 -07:00
committed by GitHub
parent 0529e19426
commit b24f1f61cb

View File

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