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 // Nutze dazu die Hilfsmethode getVertexFromListByID, um aus
// Liste der Nachbarknoten denjenigen, der alphabetisch als // Liste der Nachbarknoten denjenigen, der alphabetisch als
// erstes kommt herauszusuchen. // 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; return false;
} }

Binary file not shown.

View File

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

View File

@@ -34,4 +34,16 @@ public class BreitensucheTest {
assertFalse("Der Knoten London ist nicht im Graphen vorhanden.", ts.findVertexByWeight("London")); 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"));
}
} }