Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void BFS()
- {
- // vertrek van startknoop => startknoop aan queue toevoegen
- ds.addToQueue(startKnoop);
- ds.verwijderStartknoop(startKnoop);
- // tellertje
- int t = 0;
- // algoritme, runt zolang er knopen in de queue staan
- while (!ds.queueIsEmpty())
- {
- // werken met 1e knoop in queue
- Knoop w = ds.pollQueue();
- System.out.println("Niveau " + t + " : " + w.getNaam());
- // lijst met buren van knoop w
- ArrayList<String> lijstBuren = ds.zoekTakken(takken, w);
- ArrayList<Knoop> gebruikteKnopen = ds.verwijderDubbels(lijstBuren);
- if (! gebruikteKnopen.isEmpty())
- {
- for (int i = 0; i < gebruikteKnopen.size(); i++)
- {
- lijstBuren.remove(gebruikteKnopen.get(i).getNaam());
- }
- }
- System.out.println("Niveau " + (t+1) + " : " + lijstBuren);
- // lijst van buren aan queue toevoegen
- for (int i = 0; i < lijstBuren.size(); i++)
- {
- Knoop b = new Knoop(lijstBuren.get(i));
- ds.addToQueue(b);
- }
- // takken verwijderen
- ds.verwijderTakken(takken, w);
- t=t+1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement