Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Why does the queue switch elements around when I use the remove method? I am trying to implement a BFS algorithm. I ' m using
Why does the queue switch elements around when I use the remove method? I am trying to implement a BFS algorithm. Im using Java
allVertices.clear;
vertexstatus "discovered";
Queue queue new PriorityQueue;
queue.addvertex;
while queue.isEmpty
System.out.printQueue queue;
Vertex toRemove queue.remove;
ArrayList oldNeighbors new ArrayListtoRemoveneighbors;
System.out.printQueue added" queue;
for int i ; i oldNeighbors.size; i
toRemove.disconnectoldNeighborsgeti;
if oldNeighborsgetistatus.equalsundiscovered
oldNeighbors.getistatus "discovered";
queue.addoldNeighborsgeti;
toRemove.connectoldNeighborsgeti;
System.out.printlnneighbors: toRemove.neighbors;
toRemove.status "explored";
allVertices.addtoRemove;
BFS algorithm
allVertices.clear;
vertexstatus "discovered";
Queue queue new PriorityQueue;
queue.addvertex;
while queue.isEmpty
System.out.printQueue queue;
Vertex toRemove queue.remove;
ArrayList oldNeighbors new ArrayListtoRemoveneighbors;
System.out.printQueue added" queue;
for int i ; i oldNeighbors.size; i
toRemove.disconnectoldNeighborsgeti;
if oldNeighborsgetistatus.equalsundiscovered
oldNeighbors.getistatus "discovered";
queue.addoldNeighborsgeti;
toRemove.connectoldNeighborsgeti;
System.out.printlnneighbors: toRemove.neighbors;
toRemove.status "explored";
allVertices.addtoRemove;
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started