Graphen Flashcards
Ungerichtete Graphen
G = (V, E) V = Menge der Knoten (vertices, nodes). E = Menge der Kanten zwischen Paaren von Knoten (edges). Parameter fur Größen: n = |V |, m = |E| n - knoten m - kanten
handshaking lemma
Für ungerichtete Graphen gilt:
Es gilt: (summezeichen)v∈V
deg(v) = 2 · | E | (Handshaking-Lemma).
Schleife:
Eine Kante, die einen Knoten mit sich selbst
verbindet.
Adjazenzmatrix:
- Zwei Einträge fur jede ungerichtete Kante.
- Fur gewichtete Graphen: Reele Matrix statt Boolesche Matrix
- Platzbedarf in Θ(n^2).
- Uberprüfen, ob (u, v) eine Kante ist, hat Laufzeit Θ(1).
- Aufzählen aller Kanten hat eine Laufzeit von Θ(n^2).
Adjazenzlisten:
- Zwei Einträge fur jede Kante
- Fur gewichtete Graphen: Speichere Gewicht in Liste
- Platzbedarf in Θ(m + n).
- Uberprüfen, ob (u, v) eine Kante ist, hat eine Laufzeit von
O(deg(u)). - Aufzählen aller Kanten hat eine Laufzeit von Θ(m + n)
Kantenanzahl:
Ein Graph kann bis zu m =n(n−1)/2 =(n über 2) = Θ(n^2) viele Kanten enthalten
Graphen sind dicht (dense)
falls m = Θ(n^2).
Graphen sind licht (sparse)
falls m = O(n)
Pfad
Ein Pfad in einem ungerichteten Graphen G = (V, E)
ist eine Folge von Knoten v1, v2, . . . , vk−1, vk, k ≥ 1, mit der Eigenschaft, dass jedes aufeinanderfolgende Paar vi
, vi+1 durch
eine Kante in E verbunden ist. Die L¨ange des Pfades ist k − 1.
Graph ist zusammenhängend
Ein ungerichteter Graph ist zusammenhängend, wenn
jedes Paar von Knoten u und v von einander erreichbar ist.
Pfade in gerichteten Graphen
Ein Pfad in einem gerichteten Graphen G = (V, E) ist eine
Folge von Knoten v1, v2, . . . , vk−1, vk, k ≥ 1, mit der Eigenschaft,
dass jedes aufeinanderfolgende Paar vi
, vi+1 durch eine gerichtete
Kante (vi, vi+1) in E verbunden ist.
Baum
Ein ungerichteter Graph ist ein Baum, wenn er
zusammenhängend ist und keinen Kreis enthält.
Baum theorem
Sei G ein ungerichteter Graph. G ist ein Baum genau
dann wenn es fur jedes Paar von Knoten ¨ u und v genau eine Pfad
von u nach v gibt.
Beweis: G ist zusammenhängenden genau dann wenn es fur jedes ¨
Paar von Knoten u und v mindestens einen Pfad von u nach v
gibt. G enthält keinen Kreis, genau dann wenn es fur jedes Paar ¨
von Knoten u und v maximal einen Pfad von u nach v gibt.
Breitensuche
BFS Ansatz: Untersuche alle Knoten von einem Startknoten s
ausgehend in alle m¨oglichen Richtungen, wobei die Knoten Ebene
fur Ebene abgearbeitet werden.
BFS hat eine Laufzeit von O(m + n)
Tiefensuche (Depth First Search, DFS)
DFS Ansatz: Von einem besuchten Knoten u wird zuerst immer zu
einem weiteren noch nicht besuchten Nachbarknoten gegangen
(DFS-Aufruf), bevor die weiteren Nachbarknoten von u besucht
werden.
DFS hat eine Laufzeit von O(m + n)