!Gruppenmitglieder AlgTheo

Aufgabe 1

Pasted image 20240425125453.png

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

Pasted image 20240425125509.png

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)

falschwahrfalsch
falschfalschwahr
falschfalschwahr
falschfalschwahr
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
falschwahrfalsch
falschfalschwahr
falschfalschwahr
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
wahrfalschfalsch
falschwahrfalsch
falschfalschwahr
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
falschwahrfalsch
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
falschwahrfalsch
falschfalschwahr
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
falschwahrfalsch
falschfalschwahr
falschfalschwahr
falschfalschwahr
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
falschfalschwahr
falschfalschwahr
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
wahrfalschfalsch
falschfalschwahr
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
falschfalschwahr
falschfalschwahr
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
wahrfalschfalsch
falschfalschwahr

Sources:

Related:

[[List related notes]]

Tags: Algorithmentheorie