!Gruppenmitglieder AlgTheo
Aufgabe 1
Graph Kantenlängen sind immer 1 oder 2
Algorithmus
Der Dijkstra Algorithmus mit Komplexität findet den kürzesten Pfad zwischen und :
M <- {s} while M != ⌀ v <- element of M with minimum dist delete v from M for each w with v->w in E relax(v->w) end end --- procedure relax(v->w) if dist[w] > dist[v] + weight(v->w) parent[w] = v dist[w] = dist[v] + weight(v->w) add w to M end
- Quelle: Buch Algorithmen und Datenstrukturen von Benjamin Blankertz und Vera Röhr Seite 202
Um den Pfad auszulesen, läuft man den parent
array vom Zielknoten aus stufenweife zurück, bis man den Startknoten erreicht:
t <- parent[t] <- parent[parent[t]] <- ... <- s
Korrektheit des Algorithmus
Der Dijkstra Algorithmus arbeitet mit dem Optimalitätsprinzip und der Greddy Strategie. Das Optimalitätsprinzip besagt, dass wenn der kürzeste Pfad von A nach C über B führt, dann ist auch der Teilpfad von A nach B der kürzeste Pfad. Der Dijkstra Algorithmus aktualisiert die besuchten Knoten immer auf den kürzesten Pfad, mittels des parent
arrays. Mit der Greedy-Strategie, die besagt, dass immer der Knoten mit der geringsten Entfernung zum Startknoten ausgewählt wird, stellt sicher, dass zu jedem Zeitpunkt der kürzeste Pfad zu einem Knoten bestimmt wird. Die Aufgabenstellung beschränkt die Kantengewichte auf 1 oder 2. Damit ist sichergestellt, dass ein Teilpfad die Distanz nur verlängern, nicht verkürzen kann, um somit immer der kürzeste Pfad gefunden wird.
Aufgabe 2
Zu zeigen:
Laut Definition der o-Notation gilt: Für hinreichend große n gilt und , formell:
Wir betrachten für hinreichend große , sodass beide Ungleichungen kombiniert werden können. Wir wählen eine neue Konstante .
Daraus folgt:
Aufgabe 2.ii)
falsch | wahr | falsch | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
falsch | wahr | falsch | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
falsch | wahr | falsch | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
falsch | wahr | falsch | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
falsch | wahr | falsch | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
falsch | wahr | falsch |
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
falsch | falsch | wahr | ||
falsch | falsch | wahr | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
wahr | falsch | falsch | ||
falsch | falsch | wahr |
Sources:
Related:
[[List related notes]]
Tags: Algorithmentheorie