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)