Klausur Algorithmen und Datenstrukturen

Ähnliche Dokumente
Klausur Algorithmen und Datenstrukturen

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

Algorithmen & Datenstrukturen 1. Klausur

Vorname:... Matrikel-Nr.:... Unterschrift:...

Algorithmen und Datenstrukturen

Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( )

Datenstrukturen & Algorithmen

2 Sortieren. Beispiel: Es seien n = 8 und a = i : a i : ϕ(i) : a ϕ(i) :

Klausur Informatik B April Teil I: Informatik 3

JAVA - Suchen - Sortieren

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Klausur Datenstrukturen und Algorithmen SoSe 2012

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 VL Übungstest WS 2010/ November 2010

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Tutoraufgabe 1 (Vollständige Induktion): Tutoraufgabe 2 (Rotationen): Datenstrukturen und Algorithmen SS15 Übungsblatt 5 (Abgabe 3.6.

Algorithmen und Datenstrukturen 1-1. Seminar -

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

13. Binäre Suchbäume

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

Klausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten

Modulklausur Konstruktion und Analyse ökonomischer Modelle

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Abschnitt: Algorithmendesign und Laufzeitanalyse

Datenstrukturen. Mariano Zelke. Sommersemester 2012

DAP2-Klausur

Datenstrukturen & Algorithmen

Datenstrukturen und Algorithmen

Sortierverfahren für Felder (Listen)

Grundlagen der Programmierung

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch

Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

2. Schriftliche Leistungskontrolle (EK)

Programmieren I. Kapitel 7. Sortieren und Suchen

MATHEMATISCHE ANALYSE VON ALGORITHMEN

Datenstrukturen & Algorithmen

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Klausur. Betriebssysteme SS 2007

Programmiertechnik II

2. Übungsblatt zu Algorithmen II im WS 2016/2017

Abschnitt 18: Effizientes Suchen in Mengen

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Grundlagen: Algorithmen und Datenstrukturen

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

Einführung in die Informatik I Kapitel II.3: Sortieren

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Beispiellösung zur Prüfung Datenstrukturen und Algorithmen D-INFK

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Technische Führung. Bachelor. mer. meiner Note zusammen ... Diplom. gründlich. Sie lesbar! Wenn Sie. Viel Erfolg! max. Punktzahl.

Sortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2

Programmiertechnik II

Klausur zur Vorlesung Höhere Mathematik I

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Kapiteltests zum Leitprogramm Binäre Suchbäume

Datenstrukturen und Algorithmen

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Übersicht. Berechnung der Potenz für zwei ganze Zahlen Klausuraufgabe SS 2010! Berechnung der Cosinus-Funktion Klausuraufgabe WS 2010/2011!

Algorithmen und Datenstrukturen

Randomisierte Algorithmen 2. Erste Beispiele

Kurs 1661 Datenstrukturen I Klausur am Seite 1. Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I

Institut für Programmierung und Reaktive Systeme 24. Juni Programmieren II. 14. Übungsblatt

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

Klausur zur Mathematik für Biologen

Klausur zur Veranstaltung Programmierung (fortgeschrittene Konzepte)

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Vorlesung : Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Beispiel zu Datenstrukturen

Grundfachklausur Teil 2 / Statik II

1 topologisches Sortieren

Kapitel 6 Elementare Sortieralgorithmen

Numerische Verfahren und Grundlagen der Analysis

Vorlesung 4 BETWEENNESS CENTRALITY

Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.


Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor

Sortierte Folgen 250

Probeklausur zur Linearen Algebra II (B2)

Klausur. Einführung in die Wirtschaftspolitik (AVWL III)

Transkript:

Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 25. 02. 2014 Name:.................................... Vorname:................................. Matr.-Nr.:................................ Studiengang:.............................. Bachelor Master Andere Mit der Veröffentlichung meines Klausurergebnisses unter meiner Matrikelnummer bin ich einverstanden............................... Unterschrift Hinweise: Bitte das Deckblatt vollständig ausfüllen. Die Klausur besteht aus 14 Blättern, bitte auf Vollständigkeit überprüfen. Erlaubte Hilfsmittel: Keine. Eigenes Papier ist nicht erlaubt. Die Rückseiten der Blätter dürfen beschrieben werden. Die Heftung der Blätter darf nicht entfernt werden. Die Klausur ist mit 50 % der Punkte bestanden. Antworten die nicht gewertet werden sollen bitte deutlich durchstreichen. Mit Bleistift oder in Rot geschriebene Klausurteile können nicht gewertet werden. Werden mehrere Antworten gegeben, werten wir die mit der geringsten Punktzahl. Sämtliche Algorithmen, Datenstrukturen, Sätze und Begriffe beziehen sich, sofern nicht explizit anders angegeben, auf die in der Vorlesung vorgestellte Variante. Die Bearbeitungszeit für die Klausur beträgt 120 Minuten. Aufgabe 1 2 3 4 5 6 7 8 Σ Punkte 15 10 13 18 10 11 9 14 100 Erreicht Note Seite 1 / 14

Aufgabe 1: Graphen (9+3+3 Punkte) v 3 v 2 v 8 v 1 v 5 v 7 v 4 v 6 Abbildung 1: Der Graph G. a) Wende Breitensuche auf den Graphen G aus Abbildung 1 an; starte dabei mit dem Knoten v 1. Falls zu einem Zeitpunkt mehrere Knoten für den nächsten Schritt in Frage kommen, wähle denjenigen mit dem kleinsten Index. Gib die Menge R des Algorithmus Graph-Scan jedesmal an, wenn sie sich ändert und zeichne den gefundenen Baum T. Seite 2 / 14

b) Zeichne einen Graphen mit mindestens 8 Knoten, bei dem alle Knoten geraden Grad haben, der keinen Eulerweg besitzt. c) Zeige oder widerlege: Eine Kantenfolge, die kein Weg ist, ist kein Pfad. Seite 3 / 14

Aufgabe 2: AVL-Bäume (2+2+2+2+2 Punkte) 12 5 20 13 100 Abbildung 2: Der AVL-Baum T. Gegeben ist der AVL-Baum T aus Abbildung 2. Führe nacheinander folgende Operationen aus (damit sind die Algorithmen aus der Vorlesung gemeint, die die AVL-Eigenschaft erhalten); zeichne dabei alle Schritte jeder Operation in einen separaten Baum: a) Insert(T, 58) b) Insert(T, 4) c) Insert(T, 3) d) Insert(T, 2) e) Insert(T, 1) Seite 4 / 14

Seite 5 / 14

Aufgabe 3: Komplexität Seien f, g, h : N R drei Funktionen. a) Zeige oder widerlege: f O(g), g Ω(h) h O(f) (3+3+3+4 Punkte) b) Zeige oder widerlege: g O(f), f Θ(h) g Θ(h) Seite 6 / 14

c) Zeige: 10n 3 5n 2 log 4 n 14 Θ(n 3 ). Gib dazu explizit geeignete Konstanten c 1, c 2 und n 0 aus der Definition an und zeige, dass sie die Definition erfüllen. d) Gesucht ist ein Algorithmus, der n Elemente bearbeiten soll. Dazu gibt es zwei Möglichkeiten: (i) Die Elemente werden der Reihe nach bearbeitet, das dauert O(n) pro Element. (ii) Die Elemente werden erst sortiert. Dadurch reduziert sich die Bearbeitungszeit pro Element auf O(log n). Welche Laufzeiten ergeben sich für beide Varianten, wenn für (ii) ein möglichst schnelles Sortierverfahren verwendet wird? Welche Vorgehensweise ist asymptotisch schneller? Seite 7 / 14

Aufgabe 4: Rekursionen (4+4+3+3+1+3 Punkte) a) Wie lautet das Mastertheorem aus der Vorlesung? b) Bestimme mit Hilfe des Mastertheorems das asymptotische Wachstum der Rekursion ( n ) ( n ) T (n) = 8 T + 3n + 32 T. 4 8 Bestimme die Werte aller im Mastertheorem auftretender Parameter. Seite 8 / 14

c) Bestimme mit Hilfe des Mastertheorems das asymptotische Wachstum der Rekursion ( n ) ( ) n U(n) = n + 14 U 2 + U + 4n 2. 4 8 Bestimme die Werte aller im Mastertheorem auftretender Parameter. d) Bestimme mit Hilfe des Mastertheorems das asymptotische Wachstum der Rekursion ( n ) ( n ) V (n) = 3 V + 5 V n 2 + 1 8 8 4 n3. Bestimme die Werte aller im Mastertheorem auftretender Parameter. Seite 9 / 14

e) Was ist die Worst-Case Laufzeit von Quicksort (ohne Begründung)? f) Wir untersuchen eine Variante von Quicksort, die als Pivotelement den Median des zu sortierenden Teilbereichs verwendet. Der Median von n Elementen lässt sich in Θ(n) bestimmen. Benutze das Mastertheorem, um die Laufzeit dieser Quicksort-Variante zu bestimmen. (Hinweis: Beim Median handelt es sich um dasjenige Element, das das zu sortierende Feld in zwei gleich große Teilfelder zerlegt.) Seite 10 / 14

Aufgabe 5: Hashing (10 Punkte) Wir betrachten ein anfangs leeres Array A der Größe 7, es gibt also die Speicherzellen A[0], A[1],..., A[6]. In diesem führen wir offenes Hashing mit der folgenden Hashfunktion durch: t(i, x) = ( x i 2 + i ) mod 7 Dabei ist x ein einzusetzender Schlüssel und i die Nummer des Versuches, x in eine unbesetzte Speicherzelle des Arrays zu schreiben, beginnend bei i = 0. Berechne zu jedem der folgenden Schlüssel die Position, die er in A bekommt: 3, 12, 4, 14 Dabei sollen die Schlüssel in der gegebenen Reihenfolge eingefügt werden und der Rechenweg soll klar erkennbar sein. Trage die Elemente in das Array in Abbildung 3 ein. A[0] A[1] A[2] A[3] A[4] A[5] A[6] Abbildung 3: Die Hashtabelle A. Seite 11 / 14

Aufgabe 6: Sortieren (11 Punkte) A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10]A[11]A[12]A[13]A[14]A[15]A[16] 4 8 9 10 2 4 5 12 3 8 8 12 1 3 13 14 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10]A[11]A[12]A[13]A[14]A[15]A[16] Abbildung 4: Mergesort im Array A. Wende die Funktion Merge(A, 9, 12, 16) aus Mergesort auf das gefüllte Array oben in Abbildung 4 an. Gib dabei die temporären Variablen n 1 und n 2, sowie die Felder L und R an (jeweils nur das Endresultat). Führe Schritt für Schritt das Mergen von L und R in A durch, mache dabei bei jedem Schritt kenntlich, woher das aktuelle Element stammt. Trage das Ergebnis in das leere Feld unten in Abbildung 4 ein. Seite 12 / 14

Aufgabe 7: Algorithmenentwurf Gegeben sei ein binärer Suchbaum B. (6+3 Punkte) a) Gib einen Algorithmus an, der in O(n) alle Elemente von B in absteigend sortierter Reihenfolge ausgibt. Die Ausgabe eines Elements erfolgt mittels Print(x). b) Begründe, warum dein Algorithmus in O(n) liegt. Die Laufzeit von Print liegt in O(1). Seite 13 / 14

Aufgabe 8: Kurzfragen (2+2+2+2+2+2+2 Punkte) a) Die Tiefensuche beruht auf dem FIFO-Prinzip. wahr falsch b) Breitensuche kann man auch parallel ausführen. wahr falsch c) Gegeben zwei Funktionen f und g mit f O(g). Dann gilt für alle natürlichen Zahlen n, dass f(n) g(n). d) Die Folge der Fibonacci-Zahlen wächst exponentiell, aber asymptotisch langsamer als 2 n. wahr falsch wahr falsch e) Das Mastertheorem erlaubt das Lösen nichtlinearer Rekursionen. wahr falsch f) Man kann schneller als in Ω(n log n) sortieren, wenn man über geeignete Rechneroperationen verfügt. g) Die Größe einer Inzidenzmatrix eines Graphen mit n Knoten ist O(n 2 ). wahr falsch wahr falsch Viel Erfolg Seite 14 / 14