Merge branch 'master' of https://gitlab.com/joachimschmidt557/fop-projekt
This commit is contained in:
commit
fa9ca8a340
1 changed files with 27 additions and 1 deletions
|
|
@ -132,7 +132,33 @@ public class Graph<T> {
|
||||||
*/
|
*/
|
||||||
public boolean allNodesConnected() {
|
public boolean allNodesConnected() {
|
||||||
|
|
||||||
return false;
|
if (nodes.size() < 1)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
final Node<T> firstNode = nodes.get(0);
|
||||||
|
|
||||||
|
ArrayList<Node<T>> allVisitedNodes = new ArrayList<Node<T>>();
|
||||||
|
ArrayList<Node<T>> nextVisitNodes = new ArrayList<Node<T>>();
|
||||||
|
allVisitedNodes.add(firstNode);
|
||||||
|
|
||||||
|
nextVisitNodes.addAll(getEdges(firstNode).stream()
|
||||||
|
.map(x -> x.getNodeB())
|
||||||
|
.filter(x -> !allVisitedNodes.contains(x))
|
||||||
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
|
while (nextVisitNodes.size() > 0) {
|
||||||
|
|
||||||
|
nextVisitNodes.addAll(getEdges(nextVisitNodes.get(0)).stream()
|
||||||
|
.map(x -> x.getNodeB())
|
||||||
|
.filter(x -> !allVisitedNodes.contains(x))
|
||||||
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
|
allVisitedNodes.add(nextVisitNodes.get(0));
|
||||||
|
nextVisitNodes.remove(0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return allVisitedNodes.size() == nodes.size();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue