Answered step by step
Verified Expert Solution
Link Copied!

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. I'm using Java 17.
allVertices.clear();
vertex1.status = "discovered";
Queue queue = new PriorityQueue<>();
queue.add(vertex1);
while (!queue.isEmpty()){
System.out.print("Queue"+ queue);
Vertex toRemove = queue.remove();
ArrayList oldNeighbors = new ArrayList(toRemove.neighbors);
// System.out.print("Queue added" + queue);
for (int i =0; i < oldNeighbors.size(); i++){
toRemove.disconnect(oldNeighbors.get(i));
if (oldNeighbors.get(i).status.equals("undiscovered")){
oldNeighbors.get(i).status = "discovered";
queue.add(oldNeighbors.get(i));
toRemove.connect(oldNeighbors.get(i));
}
// System.out.println("neighbors:"+ toRemove.neighbors);
}
toRemove.status = "explored";
allVertices.add(toRemove);
}// BFS algorithm
allVertices.clear();
vertex1.status = "discovered";
Queue queue = new PriorityQueue<>();
queue.add(vertex1);
while (!queue.isEmpty()){
System.out.print("Queue"+ queue);
Vertex toRemove = queue.remove();
ArrayList oldNeighbors = new ArrayList(toRemove.neighbors);
// System.out.print("Queue added" + queue);
for (int i =0; i < oldNeighbors.size(); i++){
toRemove.disconnect(oldNeighbors.get(i));
if (oldNeighbors.get(i).status.equals("undiscovered")){
oldNeighbors.get(i).status = "discovered";
queue.add(oldNeighbors.get(i));
toRemove.connect(oldNeighbors.get(i));
}
// System.out.println("neighbors:"+ toRemove.neighbors);
}
toRemove.status = "explored";
allVertices.add(toRemove);
}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Seven NoSQL Databases In A Week Get Up And Running With The Fundamentals And Functionalities Of Seven Of The Most Popular NoSQL Databases

Authors: Aaron Ploetz ,Devram Kandhare ,Sudarshan Kadambi ,Xun Wu

1st Edition

1787288862, 978-1787288867

More Books

Students also viewed these Databases questions

Question

Effective Delivery Effective

Answered: 1 week ago