graphen:breitensuche:aufgabe2loesung:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
graphen:breitensuche:aufgabe2loesung:start [2023/10/18 08:57] – angelegt Martin Pabst | graphen:breitensuche:aufgabe2loesung:start [2023/10/23 13:16] (aktuell) – Martin Pabst | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
< | < | ||
- | <img src=" | + | <img src=" |
<div class=" | <div class=" | ||
<script type=" | <script type=" | ||
Graph g = new Graph(8); | Graph g = new Graph(8); | ||
- | g.kanteHinzufügen(0, 1); | + | g.ungerichteteKanteHinzufügen(0, 1); |
- | g.kanteHinzufügen(1, 0); | + | g.ungerichteteKanteHinzufügen(1, 0); |
- | g.kanteHinzufügen(1, 2); | + | g.ungerichteteKanteHinzufügen(1, 2); // Kommentiere diese Zeile aus, um einen ungerichteten Graphen zu erhalten. |
- | g.kanteHinzufügen(2, 3); | + | g.ungerichteteKanteHinzufügen(2, 3); |
- | g.kanteHinzufügen(3, 4); | + | g.ungerichteteKanteHinzufügen(3, 4); |
- | g.kanteHinzufügen(2, 4); | + | g.ungerichteteKanteHinzufügen(2, 4); |
- | g.kanteHinzufügen(4, 2); | + | g.ungerichteteKanteHinzufügen(4, 2); |
- | g.kanteHinzufügen(3, 5); | + | g.ungerichteteKanteHinzufügen(3, 5); |
- | g.kanteHinzufügen(5, 2); | + | g.ungerichteteKanteHinzufügen(5, 2); |
- | g.kanteHinzufügen(5, 6); | + | g.ungerichteteKanteHinzufügen(5, 6); // Kommentiere diese Zeile aus, um einen ungerichteten Graphen zu erhalten. |
- | g.kanteHinzufügen(1, 6); | + | g.ungerichteteKanteHinzufügen(1, 6); |
- | g.kanteHinzufügen(6, 7); | + | g.ungerichteteKanteHinzufügen(6, 7); |
- | g.kanteHinzufügen(7, 0); | + | g.ungerichteteKanteHinzufügen(7, 0); |
- | g.breitensuche(1); | + | if(g.istZusammenhängend()) { |
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
Zeile 36: | Zeile 40: | ||
} | } | ||
| | ||
- | | + | |
adj[vonIndex][nachIndex] = 1; | adj[vonIndex][nachIndex] = 1; | ||
+ | adj[nachIndex][vonIndex] = 1; | ||
} | } | ||
| | ||
- | | + | |
boolean[] besucht = new boolean[adj.length]; | boolean[] besucht = new boolean[adj.length]; | ||
+ | |||
LinkedList< | LinkedList< | ||
- | warteschlange.addLast(start); | + | warteschlange.addLast(0); |
- | besucht[start] = true; | + | besucht[0] = true; |
- | println(" | + | println(" |
+ | // Solange die Warteschlange nicht leer ist | ||
while (!warteschlange.isEmpty()) { | while (!warteschlange.isEmpty()) { | ||
int knoten = warteschlange.removeFirst(); | int knoten = warteschlange.removeFirst(); | ||
+ | |||
+ | // suche die benachbarten Knoten: | ||
for (int i = 0; i < adj.length; i++) { | for (int i = 0; i < adj.length; i++) { | ||
if(adj[knoten][i] != 0 && !besucht[i]) { | if(adj[knoten][i] != 0 && !besucht[i]) { | ||
Zeile 59: | Zeile 68: | ||
} | } | ||
+ | |||
+ | for (int i = 0; i < besucht.length; | ||
+ | | ||
+ | return false; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | return true; | ||
} | } | ||
graphen/breitensuche/aufgabe2loesung/start.1697619426.txt.gz · Zuletzt geändert: 2023/10/18 08:57 von Martin Pabst