University of Konstanz
Algorithmik
Prof. Dr. Ulrik Brandes

Übungen zur Vorlesung "Algorithmen und Datenstrukturen" (WS 2007/2008)

+++ Aktuelles +++

11.04.2008, 8-10Uhr: Termin Nachklausur

In der Vorlesung werden Standardalgorithmen und Grund legende Datenstrukturen behandelt. Darstellungsformen und Spezifikation von Algorithmen, elementare und höhere Datenstrukturen, Suchbäume, Hash-Tabellen, rekursive Algorithmen, Algorithmen zum Suchen und Sortieren, Grund legende Graphenalgorithmen und Zeichenkettenalgorithmen.
In theoretischen Übungen wird der Vorlesungsstoff vertieft, in praktischen Übungen werden Algorithmen und Datenstrukturen in Java implementiert.

Termine

Vorlesung (U. Brandes) Di 08:30 – 10:00 (A 702)
Do 08:30 – 10:00 (R 712)
Übung (J. Lerner, C. Pich) Mi 12:15 – 13:45 (D 301)
Do 14:15 – 15:45 (D 436)
Prüfungen 110-minütige Klausur
1. Termin: Di., 12.2., 8:00-9:50 Uhr in A702
2. Termin: Fr., 11.4., 8:00-9:50 in D434

Übungsblätter

Die Übungsblätter sind jeden Montag im Treppenhaus vor dem Sekretariat des Lehrstuhls (Raum E 214), sowie auf dieser Seite erhältlich. Die Aufgaben sind innerhalb einer Woche zu bearbeiten. Abgabe ist jeweils bis Montag 12 Uhr möglich.

Die Besprechung der Aufgaben und die Rückgabe der korrigierten und mit Punkten bewerteten Abgaben erfolgt in der Übung. Das Erlangen von mindestens der Hälfte der möglichen Punkte und die aktive Teilnahme an den Übungen ist Voraussetzung für die Teilnahme an der Klausur.

Abgabe der Praktischen Aufgaben

Abgabe der Theoretischen Aufgaben

Alle Aufgaben können und sollen in Zweiergruppen abgegeben werden.

Nr. Ausgabe Abgabe Besprechung PDF Download
1 22.10.2007 29.10.2007 31.10.2007 u01.pdf SortAlgo.java, SortTest.java, PrimeFactorization.java, PrimeTest.java; PrimeFactorizationImpl.java, MergeSort.java
2 29.10.2007 05.11.2007 07./08.11.2007 u02.pdf Fibonacci.java, fibonacci.txt, fibonacci.gnu, fibonacci.pdf
3 05.11.2007 12.11.2007 14./15.11.2007 u03.pdf DynamicArray.java, StringEnumerator.java; AbstractDynamicArray.java, DynamicArrayMult.java, DynamicArrayMultResizable.java, DynamicArrayAdd.java, DynamicArrayMult4.java, SubSequenceEnumerator.java, SubSetEnumerator.java
4 12.11.2007 19.11.2007 21./22.11.2007 u04.pdf QuickSort.java, QuickSortDeterministic.java, QuickSortRandomized.java, QuickSortMedianOf3.java, NaturalMergeSort.java
5 19.11.2007 26.11.2007 28./29.11.2007 u05.pdf Generator.java, Sort50.java, TapeReader.java, TapeWriter.java, ExternalSort.java; TapeReaderImpl.java, TapeWriterImpl.java, ExternalSortImpl.java
6 26.11.2007 03.12.2007 05./06.12.2007 u06.pdf MinHeap.java; MinHeapImpl.java, DoubleAbsComparator.java, InverseComparator.java, HeapSort.java
7 03.12.2007 10.12.2007 12./13.12.2007 u07.pdf Dictionary.java, Josephus.java; List.java, MoveToFrontList.java, TransposeList.java, FrequencyCountList.java, ArrayJosephus.java
8 10.12.2007 17.12.2007 19./20.12.2007 u08.pdf Search.java
9 17.12.2007 07.01.2008 09./10.01.2008 u09.pdf OrderedDictionary.java
10 07.01.2008 14.01.2008 16./17.01.2008 u10.pdf
11 14.01.2008 21.01.2008 23./24.01.2008 u11.pdf HashMap.java, HashMapImpl.java
12 21.01.2008 28.01.2008 30.01.2008 u12.pdf faust1.txt
13 28.01.2008 04.02.2008 06./07.02.2008 u13.pdf Graph.java, Node.java, Edge.java

Hinweis: Einige Dateien sind nur lokal an der Universität Konstanz oder gar nicht zugreifbar.

Skriptum

Ein Skript wird im Laufe des Semester erstellt. An dieser Stelle werden Vorabversionen der Kapitel zur Verfügung gestellt.

Literaturhinweise

Weitere Informationen