Uploaded by gagot98818

HU01 2022

advertisement
Prof. Dr. Sevag Gharibian
u.v.a.
7. April 2022
Abgabe: 18. April 2022, 10:59 MESZ (in PANDA)
Datenstrukturen und Algorithmen
Sommersemester 2022
Heimübung 1
Hinweise: Geben Sie die Lösung online über PANDA als PDF ab. Nutzen Sie hierzu am Besten LATEX (In PANDA finden Sie eine Vorlage). Eingescannte, handschriftliche Lösungen sind
ebenfalls möglich, solange sie gut lesbar sind. Unleserliche Abgaben führen zu Punktabzug. Sie
können in einer Gruppe mit bis zu 4 Teilnehmern abgeben. Schreiben Sie die Namen und (Uni)Mail-Adressen aller Gruppenmitglieder gut sichtbar in ihre Abgabe.
AUFGABE 1 (4 Punkte):
Ein Baum ist ein zusammenhängender, ungerichteter Graph mit exakt einem Pfad pro Knotenpaar.
Sei G := (V, E) ein Baum mit nicht-leerer, endlicher Knotenmenge. Zeigen sie per Induktion, dass
gilt:
X
deg(v) = 2(|V | − 1)
v∈V
Hierbei ist deg(v) der Grad von Knoten v ∈ V .
Hinweis: Die Aussagen aus der Präsenzübung dürfen verwendet werden.
AUFGABE 2 (3 Punkte):
Beweisen Sie mit Hilfe der vollständigen Induktion, dass für alle n ∈ N gilt:
n
X
i=1
i3 =
n2 · (n + 1)2
4
AUFGABE 3 (8 Punkte):
Wir betrachten einen Algorithmus für das Suchproblem:
Eingabe: Eine Folge von n Werten (x1 , x2 , . . . , xn ) und das gesuchte Element v.
Ausgabe: Ein Index i, so dass xi = v gilt, oder ein spezieller Wert Nil, falls das Element v nicht
in der Folge vorhanden ist.
a) Beschreiben Sie den folgenden Algorithmus in Pseudocode:
LinSearch(A[1..n], v): Durchlaufe das Eingabe-Array A von Position 1 bis n. In jedem Schritt
”
vergleiche die aktuelle Stelle mit v und gebe den Index der aktuellen Position zurück, falls
gesuchter Wert und Stelle übereinstimmen. Wurde das Array ergebnislos durchlaufen, so
gib Nil zurück.“
(3 Punkte)
b) Bestimmen Sie eine geeignete Schleifeninvariante und beweisen Sie mit deren Hilfe die
Korrektheit Ihres Algorithmus (3 Punkte).
c) Bestimmen Sie die asymptotische Laufzeit von LinSearch im O-Kalkül. (2 Punkte)
Download