findVertexByID() implementiert

This commit is contained in:
2021-01-18 15:38:25 +01:00
parent 28ec0827cc
commit b1a8191637
5 changed files with 42 additions and 2 deletions

Binary file not shown.

View File

@@ -109,7 +109,33 @@ public class Breitensuche {
// Nutze dazu die Hilfsmethode getVertexFromListByID, um aus
// Liste der Nachbarknoten denjenigen, der alphabetisch als
// erstes kommt herauszusuchen.
if(g.getVertex("Köln").getID().equals(pVertexID)){
System.out.println("Köln gefunden");
return true;
} else {
g.getVertex("Köln").setMark(true);
searchQueue.enqueue(g.getVertex("Köln"));
while(!searchQueue.isEmpty()){
Vertex v = searchQueue.front();
List<Vertex> cngbrs=copyList(g.getNeighbours(v));
cngbrs.toFirst();
while(cngbrs.hasAccess()){
Vertex vs = getVertexFromListByID(cngbrs);
if(!vs.isMarked()){
System.out.println(vs.getID());
if(vs.getID().equals(pVertexID)){
System.out.println(vs.getID() +" gefunden");
return true;
}
vs.setMark(true);
searchQueue.enqueue(vs);
}
}
searchQueue.dequeue();
}
}
System.out.println(pVertexID +" Nicht gefunden");
return false;
}

Binary file not shown.

View File

@@ -6,4 +6,6 @@ comment2.params=
comment2.target=void\ testFindVertex()
comment3.params=
comment3.target=void\ testFindVertexByWeight()
numComments=4
comment4.params=
comment4.target=void\ testFindVertexByID()
numComments=5

View File

@@ -33,5 +33,17 @@ public class BreitensucheTest {
assertFalse("Der Knoten Tokio ist nicht im Graphen vorhanden.", ts.findVertexByWeight("Tokio"));
assertFalse("Der Knoten London ist nicht im Graphen vorhanden.", ts.findVertexByWeight("London"));
}
@Test
public void testFindVertexByID() {
Breitensuche ts = new Breitensuche();
assertTrue("Der Knoten Köln ist im Graphen vorhanden.", ts.findVertexByID("Köln"));
assertTrue("Der Knoten Bielefeld ist im Graphen vorhanden.", ts.findVertexByID("Bielefeld"));
assertTrue("Der Knoten Bochum ist im Graphen vorhanden.", ts.findVertexByID("Bochum"));
assertFalse("Der Knoten Tokio ist nicht im Graphen vorhanden.", ts.findVertexByID("Tokio"));
assertFalse("Der Knoten London ist nicht im Graphen vorhanden.", ts.findVertexByID("London"));
}
}