Graphentheorie: Übungsaufgaben mit Schritt-für-Schritt-Lösungen

Auch genannt: Dijkstra-Algorithmus

Kostenlose Übungsaufgaben zu Graphentheorie mit Skizzen, Tipps und vollständigen Musterlösungen. Jedes Mal neue Werte, in drei Stufen: Grade und Kanten, Euler-Wege und Bäume, kürzeste Wege und aufspannende Bäume.

Kostenlose ÜbungsaufgabeLeicht

Ein Baum hat 12 Knoten. Wie viele Kanten |E| hat er?

|V| = 12

Exakte Antwort: eine ganze Zahl, ohne Rundung.

Nächste Aufgabe →
Graphentheorie kostenlos übenGraphentheorie jetzt übenJeden Tag 5 kostenlose Aufgaben. Keine Kreditkarte nötig.

Was du übst

  1. LeichtGrade und Kanten
  2. MittelEuler-Wege und Bäume
  3. Schwerkürzeste Wege und aufspannende Bäume

So löst du Aufgaben zu Graphentheorie

  1. Schreibe den Grad jedes Knotens auf; die Grade summieren sich zum Doppelten der Kantenzahl.
  2. Prüfe bei Euler-Aufgaben, ob der Graph zusammenhängend ist, und zähle die Knoten mit ungeradem Grad.
  3. Verwende bei Bäumen n − 1 Kanten und das Handschlaglemma.
  4. Führe bei Dijkstra eine Tabelle der vorläufigen Abstände und schließe in jeder Runde den kleinsten noch offenen Knoten ab.
  5. Sortiere für einen minimalen aufspannenden Baum die Kanten nach Gewicht und überspringe jede Kante, die einen Kreis schließt (Kruskal), oder lass einen Baum von einem Startknoten aus wachsen (Prim).

Häufige Fehler

  • Vergessen, die Gradsumme durch 2 zu teilen.
  • Einen Graphen eulersch nennen, ohne den Zusammenhang zu prüfen.
  • Einen Knoten bei Dijkstra abschließen, bevor sein Abstand der kleinste ist.
  • Die leichtesten Kanten nehmen, ohne auf Kreise zu achten.
  • Die Hamilton-Kreise von Kn als n! statt als (n − 1)!/2 zählen.

Wichtige Formeln

Handschlaglemma
Σ deg(v) = 2|E|
Vollständige Graphen
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Regulärer Graph
|E| = n·k/2
Baum und Wald
|E| = n − 1, |E| = n − c
Blätter eines Baums
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
Kreis: alle Grade gerade; Weg: genau 2 ungerade Grade
Hamilton-Kreise in Kn
(n − 1)!/2
Dijkstra-Aktualisierung
d(v) = min(d(v), d(u) + w(u, v))
Wege der Länge L
(Mᴸ)ij

Graphentheorie von Grund auf lernen

Davor: Mengen, Relationen & Funktionen

1Knoten, Kanten und Grade

Ein Graph besteht aus Knoten (Punkten) und Kanten (Linien zwischen zwei Knoten). In einem einfachen Graphen gibt es keine Schleifen und keine Mehrfachkanten.

Der Grad eines Knotens ist die Anzahl der Kanten, die an ihm enden. Jede Kante hat zwei Enden und erhöht daher den Grad jedes Endes um 1. Das ergibt das Handschlaglemma:

Σ deg(v) = 2·|E|

Zwei Folgerungen: Die Summe der Grade ist immer gerade, und auch die Anzahl der Knoten mit ungeradem Grad ist gerade.

  • Der vollständige Graph Kn verbindet jedes Paar: n(n − 1)/2 Kanten.
  • Der vollständige bipartite Graph Km,n verbindet jeden Knoten der einen Seite mit jedem Knoten der anderen Seite: m·n Kanten.
  • Ein k-regulärer Graph mit n Knoten hat n·k/2 Kanten.

Die Adjazenzmatrix hat an der Stelle (i, j) eine 1, wenn i und j verbunden sind. Für einen ungerichteten Graphen ist sie symmetrisch, eine Zeilensumme ist ein Grad, und der Eintrag (i, j) von Mᴸ zählt die Wege der Länge L von i nach j.

Selbsttest Ein Graph hat die Grade 3, 3, 2, 2, 2. Wie viele Kanten hat er?
  1. 10
  2. 12
  3. 5
  4. 6

Antwort: 6. Die Grade summieren sich zu 12, und jede Kante wird doppelt gezählt, also gibt es 12/2 = 6 Kanten. 5 ist die Anzahl der Knoten.

2Euler und Hamilton

Ein Euler-Kreis benutzt jede Kante genau einmal und kehrt zum Start zurück. Ein Euler-Weg benutzt jede Kante einmal, darf aber woanders enden. Für einen zusammenhängenden Graphen gilt:

  • alle Grade gerade: Ein Euler-Kreis existiert;
  • genau zwei ungerade Grade: Ein Euler-Weg existiert, von einem ungeraden Knoten zum anderen;
  • mehr als zwei ungerade Grade: keines von beiden.

Ein Hamilton-Kreis besucht jeden Knoten genau einmal. Dafür gibt es keinen einfachen Gradtest. In Kn gibt es (n − 1)!/2 verschiedene Hamilton-Kreise: Lege den Start fest, ordne die übrigen n − 1 Knoten und teile durch 2 wegen der beiden Richtungen.

Selbsttest Ein zusammenhängender Graph hat die Grade 2, 3, 4, 3, 2. Was hat er?
  1. Einen Euler-Kreis
  2. Einen Euler-Weg, aber keinen Euler-Kreis
  3. Keines von beiden
  4. Sowohl einen Euler-Kreis als auch einen Euler-Weg, der kein Kreis ist

Antwort: Einen Euler-Weg, aber keinen Euler-Kreis. Genau zwei Knoten haben ungeraden Grad (die beiden 3er), also gibt es einen Euler-Weg zwischen ihnen, aber keinen Kreis.

3Bäume

Ein Baum ist ein zusammenhängender Graph ohne Kreise. Jeder Baum mit n Knoten hat genau n − 1 Kanten. Fügt man irgendeine Kante hinzu, entsteht ein Kreis; entfernt man irgendeine Kante, zerfällt er.

Ein Wald aus c Bäumen mit n Knoten hat n − c Kanten. Ein zusammenhängender Graph mit m Kanten behält einen aufspannenden Baum, wenn man m − n + 1 Kanten entfernt.

Das Handschlaglemma zählt die Blätter: Σ deg = 2(n − 1). Eine Kurzform ist L = 2 + Σ (d − 2) über die Knoten mit Grad d ≥ 3. Ein Baum mit zwei Knoten vom Grad 3 und sonst nur Blättern hat 2 + 1 + 1 = 4 Blätter.

4Dijkstra und minimale aufspannende Bäume

Der Dijkstra-Algorithmus findet kürzeste Abstände von einem Startknoten in einem Graphen mit nichtnegativen Gewichten.

  1. Gib dem Startknoten den Abstand 0 und allen anderen Knoten ∞.
  2. Schließe den offenen Knoten mit dem kleinsten Abstand ab; sein Abstand ist nun endgültig.
  3. Aktualisiere für jeden Nachbarn v: d(v) = min(d(v), d(u) + w(u, v)).
  4. Wiederhole, bis der Zielknoten abgeschlossen ist.

Ein minimaler aufspannender Baum verbindet alle Knoten mit dem kleinsten Gesamtgewicht. Kruskal sortiert die Kanten von leicht nach schwer und nimmt jede, sofern sie keinen Kreis schließt. Prim lässt einen Baum von einem Startknoten aus wachsen und fügt immer die leichteste Kante hinzu, die aus ihm herausführt. Beide hören nach n − 1 Kanten auf.

Durchgerechnetes Beispiel

Finde den kürzesten Abstand von A nach E im folgenden Graphen.

1

Start

412581ABCDE

d(A) = 0. Seine Nachbarn erhalten d(B) = 4 und d(C) = 1.

2

C abschließen (1)

Über C: d(B) = min(4, 1 + 2) = 3 und d(E) = 1 + 8 = 9.

3

B abschließen (3)

Über B: d(D) = 3 + 5 = 8.

4

D abschließen (8)

Über D: d(E) = min(9, 8 + 1) = 9. Keine Verbesserung, ein Gleichstand.

5

E abschließen (9)

E ist abgeschlossen: Sein Abstand ist endgültig.

Antwort

Der kürzeste Abstand ist d(E) = 9 entlang A → C → E. Der Weg A → C → B → D → E hat dieselbe Länge, 1 + 2 + 5 + 1 = 9.

Selbsttest Der Kruskal-Algorithmus hat die Kanten mit Gewicht 1, 2 und 3 genommen. Die nächstleichteste Kante, Gewicht 4, verbindet zwei Knoten, die schon verbunden sind. Was passiert?
  1. Der Algorithmus hält an
  2. Sie wird genommen, weil sie die leichteste übrige ist
  3. Sie wird übersprungen, weil sie einen Kreis schließen würde
  4. Stattdessen wird die Kante mit Gewicht 3 entfernt

Antwort: Sie wird übersprungen, weil sie einen Kreis schließen würde. Kruskal schließt nie einen Kreis: Eine Kante zwischen zwei Knoten derselben Komponente wird übersprungen, und der Algorithmus geht zur nächsten Kante über.

5Häufige Fehler

  • Vergessen, die Gradsumme durch 2 zu teilen, um die Kantenzahl zu erhalten.
  • Auf einen Euler-Kreis testen, ohne zu prüfen, ob der Graph zusammenhängend ist.
  • Einen Knoten bei Dijkstra abschließen, bevor er den kleinsten vorläufigen Abstand hat.
  • Die n − 1 leichtesten Kanten nehmen, ohne auf Kreise zu achten.
  • Hamilton-Kreise von Kn als n! statt als (n − 1)!/2 zählen.

6So sehen Prüfungsaufgaben aus

  • Leicht: Grade und Kanten. Du verwendest das Handschlaglemma, zählst die Kanten von Kn, Km,n, regulären Graphen und Bäumen, liest eine Adjazenzmatrix ab oder klickst den Knoten mit einem gegebenen Grad an.
  • Mittel: Euler-Wege und Bäume. Du entscheidest, ob ein Graph einen Euler-Kreis oder -Weg hat, zählst die Blätter eines Baums, zählst die Kanten, die für einen aufspannenden Baum zu entfernen sind, oder zählst die Hamilton-Kreise in Kn.
  • Schwer: kürzeste Wege und aufspannende Bäume. Du führst den Dijkstra-Algorithmus aus, findest den Knoten, der in einer bestimmten Runde abgeschlossen wird, bestimmst das Gewicht eines minimalen aufspannenden Baums, klickst die Kante an, die Kruskal oder Prim als Nächstes hinzufügt, oder zählst Wege mit der Adjazenzmatrix.

Lerne Schritt für Schritt in der AppLerne Schritt für Schritt in der App

Beispielaufgaben

Beispiel 1Leicht
AABBCCDDEE0010000001100010000101110

Die Adjazenzmatrix eines einfachen ungerichteten Graphen ist gezeigt. Wie viele Kanten |E| hat der Graph?

Gesucht: |E|

Tipps anzeigen
  1. Der Eintrag (i, j) ist 1, wenn die Knoten i und j durch eine Kante verbunden sind.
  2. Jede Kante {i, j} ergibt zwei Einsen: eine bei (i, j) und eine bei (j, i).
  3. Die Matrix enthält 8 Einsen.
Antwort und Schritt-für-Schritt-Lösung anzeigen

Grade: Der Grad eines Knotens ist die Anzahl der Kanten, die an ihm enden. Jede Kante hat zwei Enden, daher summieren sich die Grade zum Doppelten der Kantenzahl: Σ deg(v) = 2|E| (das Handschlaglemma). Die Anzahl der Knoten mit ungeradem Grad ist deshalb gerade. Kn hat n(n − 1)/2 Kanten, ein k-regulärer Graph mit n Knoten hat nk/2, und ein Baum mit n Knoten hat n − 1 Kanten.

Die Einsen zählen

Zeilensummen: 1 + 1 + 2 + 1 + 3 = 8
|E| = 8/2 = 4

Antwort

|E| = 4
Beispiel 2Mittel
ABCDEFGEuler-KreisEuler-Weg, kein Kreiskeines von beiden

Hat der zusammenhängende Graph einen Euler-Kreis, einen Euler-Weg, der kein Kreis ist, oder keines von beiden? Klicke deine Antwort an.

|V| = 7|E| = 10
  1. 1Euler-Kreis
  2. 2Euler-Weg, kein Kreis
  3. 3keines von beiden
Tipps anzeigen
  1. Der Satz von Euler braucht nur die Grade der Knoten (der Graph ist zusammenhängend).
  2. Alle Grade gerade: Euler-Kreis. Genau zwei ungerade Grade: Euler-Weg zwischen ihnen. Mehr: keines von beiden.
  3. Zähle die Knoten mit ungeradem Grad.
Antwort und Erklärung anzeigen

Euler, Hamilton und Bäume: Ein zusammenhängender Graph hat einen Euler-Kreis (jede Kante einmal, zurück zum Start), wenn jeder Knoten geraden Grad hat, und einen Euler-Weg, der kein Kreis ist, wenn genau zwei Knoten ungeraden Grad haben; der Weg verläuft dann von einem ungeraden Knoten zum anderen. Ein Hamilton-Kreis besucht jeden Knoten einmal; Kn hat (n − 1)!/2 davon. Ein Baum mit n Knoten hat n − 1 Kanten, und ein zusammenhängender Graph mit m Kanten behält einen aufspannenden Baum, wenn man m − n + 1 Kanten entfernt.

Grade

deg(A) = 1, deg(B) = 4, deg(C) = 2, deg(D) = 4, deg(E) = 4, deg(F) = 2, deg(G) = 3

Ungerade Knoten

A, G → 2
Euler-Weg, kein Kreis

Antwort

Euler-Weg, kein Kreis

Der Euler-Weg beginnt an einem ungeraden Knoten und endet am anderen.

Beispiel 3Schwer
ABCDEF

Wie viele geschlossene Wege der Länge 3 beginnen und enden bei E? Ein Weg darf Knoten und Kanten wiederholen. Nenne die Zahl N.

M = AdjazenzmatrixL = 3

Gesucht: N

Tipps anzeigen
  1. Mit der Adjazenzmatrix M ist die Anzahl der Wege der Länge L von i nach j der Eintrag (i, j) von Mᴸ.
  2. Zähle zuerst die Wege der Länge 2 von E zu jedem Knoten und gehe dann einen weiteren Schritt.
  3. Wege der Länge 2 von E: A: 2, B: 1, C: 0, D: 2, E: 4, F: 1.
Antwort und Schritt-für-Schritt-Lösung anzeigen

Grade: Der Grad eines Knotens ist die Anzahl der Kanten, die an ihm enden. Jede Kante hat zwei Enden, daher summieren sich die Grade zum Doppelten der Kantenzahl: Σ deg(v) = 2|E| (das Handschlaglemma). Die Anzahl der Knoten mit ungeradem Grad ist deshalb gerade. Kn hat n(n − 1)/2 Kanten, ein k-regulärer Graph mit n Knoten hat nk/2, und ein Baum mit n Knoten hat n − 1 Kanten.

Adjazenzmatrix

A: 0 1 1 0 0 0
B: 1 0 0 1 1 0
C: 1 0 0 0 1 0
D: 0 1 0 0 1 1
E: 0 1 1 1 0 1
F: 0 0 0 1 1 0

Ein weiterer Schritt

(M³)EE = 2·0 + 1·1 + 0·1 + 2·1 + 4·0 + 1·1 = 4

Antwort

N = 4

Fragen und Antworten

Graphentheorie: Worum geht es?

Ein Graph besteht aus Knoten (Punkten) und Kanten (Linien zwischen zwei Knoten). In einem einfachen Graphen gibt es keine Schleifen und keine Mehrfachkanten.

Der Grad eines Knotens ist die Anzahl der Kanten, die an ihm enden. Jede Kante hat zwei Enden und erhöht daher den Grad jedes Endes um 1. Das ergibt das Handschlaglemma:

Graphentheorie: Wie löst man die Aufgaben Schritt für Schritt?
  1. Schreibe den Grad jedes Knotens auf; die Grade summieren sich zum Doppelten der Kantenzahl.
  2. Prüfe bei Euler-Aufgaben, ob der Graph zusammenhängend ist, und zähle die Knoten mit ungeradem Grad.
  3. Verwende bei Bäumen n − 1 Kanten und das Handschlaglemma.
  4. Führe bei Dijkstra eine Tabelle der vorläufigen Abstände und schließe in jeder Runde den kleinsten noch offenen Knoten ab.
  5. Sortiere für einen minimalen aufspannenden Baum die Kanten nach Gewicht und überspringe jede Kante, die einen Kreis schließt (Kruskal), oder lass einen Baum von einem Startknoten aus wachsen (Prim).
Graphentheorie: Welche Fehler passieren am häufigsten?
  • Vergessen, die Gradsumme durch 2 zu teilen.
  • Einen Graphen eulersch nennen, ohne den Zusammenhang zu prüfen.
  • Einen Knoten bei Dijkstra abschließen, bevor sein Abstand der kleinste ist.
  • Die leichtesten Kanten nehmen, ohne auf Kreise zu achten.
  • Die Hamilton-Kreise von Kn als n! statt als (n − 1)!/2 zählen.
Graphentheorie: Was wird geübt?
  • Leicht: Grade und Kanten
  • Mittel: Euler-Wege und Bäume
  • Schwer: kürzeste Wege und aufspannende Bäume

Jede Aufgabe hat neue Werte, so lernst du den Lösungsweg statt einer Antwort. Du hängst fest? Öffne zuerst einen kleinen Tipp und die vollständige Erklärung erst, wenn du sie brauchst.

So funktioniert das Üben

  • Jede Aufgabe hat neue Werte, so lernst du den Lösungsweg statt einer Antwort.
  • Du hängst fest? Öffne zuerst einen kleinen Tipp und die vollständige Erklärung erst, wenn du sie brauchst.
  • Dein Fortschritt, deine Fehler und gespeicherten Aufgaben bleiben erhalten, damit du vor der Prüfung wiederholen kannst.

Themen davor und danach

Zuerst lernen

Kurse mit diesem Thema

Weitere Themen in Mathematik & Statistik

Arbeitsblatt zum Ausdrucken

Graphentheorie kostenlos übenGraphentheorie jetzt übenJeden Tag 5 kostenlose Aufgaben. Keine Kreditkarte nötig.