Algorithmus Graphen

GuStaV%%

Mitglied
Hallo zusammen,

Ich bin gerade dabei Graphen und Bäume am Üben.

Ich habe hier nun folgende Aufgabe:

"Wir erinnern an die Definition eines Graphen: Ein endlicher Graph ist ein Zweitupel (V, E), wobei V eine endliche Menge und E (Teilmenge oder gleich) V x V ist. Ein Kreis in einem Graphen ist eine Folge von Kanten (v1, v2), (v2, v3) .... (vn-1, vn) n >_4 (>_: steht für größer oder gleich), so dass v1 = vn gilt. Geben Sie einen Algorithmus an, der ermittelt, ob ein Graph einen Kreis enthält und erläutern Sie, wieso der Algorithmus korrekt ist."

Leider fehlt mir hier schon irgendwie der Ansatzpunkt und die Fantasie. Kann mir bei der Aufgabe jemand helfen?

Vielen Dank im Voraus.
 
Naja, Du führst eine Tiefensuche durch und markierst dabei die besuchten Knoten. Wird ein markierter Knoten besucht, hast Du einen Zyklus gefunden.
 
hmm könntest du mich da vielleicht ein bisschen mit Code unterstützen oder kennst du gute Tutorials oder Links von Erklärungen für das? weil mir fehlt hier sogar gerade der Ansatz.....
 
Naja, Du führst eine Tiefensuche durch und markierst dabei die besuchten Knoten. Wird ein markierter Knoten besucht, hast Du einen Zyklus gefunden.
Das funktioniert so leider nicht. Ein Gegenbeispiel:
Code:
V = {v1, v2}
E = {(v1, v2), (v2, v1)}
Dies ist kein Kreis (nach der Definition in der Aufgabenstellung).

Edit: Ich muss mich korrigieren. Zwar ist
Code:
(v1, v2), (v2, v1)
kein Kreis (im Sinne der Aufgabenstellung), jedoch:
Code:
(v1, v2), (v2, v1), (v1, v2), (v2, v1)
Hier ist die Definition in der Aufgabenstellung etwas unklar.
 
Zuletzt bearbeitet:
Das funktioniert so leider nicht. Ein Gegenbeispiel:
Code:
V = {v1, v2}
E = {(v1, v2), (v2, v1)}
Dies ist kein Kreis (nach der Definition in der Aufgabenstellung).

Edit: Ich muss mich korrigieren. Zwar ist
Code:
(v1, v2), (v2, v1)
kein Kreis (im Sinne der Aufgabenstellung), jedoch:
Code:
(v1, v2), (v2, v1), (v1, v2), (v2, v1)
Hier ist die Definition in der Aufgabenstellung etwas unklar.
Ich vermute fast das es um ungerichtete Graphen gehen soll und damit die Kante (v1,v2) und die Kante (v2,v1) in Wirklichkeit eine Kante sind. In dem Augenblick würde die Bedingung mit n größer >=4 Sinn ergeben - weil in einem ungerichten Graphen braucht man drei (unterschiedliche) Kanten für die Definition eines Kreises. Aber ich bin bei dir - das geht aus der Aufgabenstellung nicht hervor.
 

Neue Themen


Zurück
Oben