[Technical Faculty]

Algorithmen & Datenstrukturen


Vorlesung u. Praktikum für den Ingenieursstudiengang, Grundstudium, 3tes Semester
Wintersemester 2000/2001

Veranst: 8803/8804 (Vorlesung/Praktikum, 2+2 stündig)

Ort: Haus II, Raum 324
Termin: Vorlesung Dienstag 14-16 Uhr (ct) und der praktische Teil Donnerstag 16-18 Uhr (Achtung: der Termin war zeitweise falsch angekündigt!)
Vorbesprechung: keine
Beginn: Dienstag, 17. Oktober 2000 (1. Woche)


[Inhalt] [Organisatorisches] [Unterlagen] [Handouts] [Aufgaben] [Literatur] [Software] [Links]

Inhalt

Der Entwurf und die effiziente Implementierung von Datenstrukturen und zugehöriger Algorithmen zu ihrer Manipulation gehört, unabhängig von Anwendung und Programmiersprache, zum unverzichtbaren Handwerkszeug jeden Programmierers. Der Kurs behandelt verschiedene grundlegende und immer wiederkehrende statische, dynamische und rekursive Datenstrukturen und ihre Implementierung, wie beispielsweise Arrays, Listen, Stacks, Queues, verschiedene Arten von Bäumen, Hashstrukturen, Graphen.... Hand in Hand mit den Daten werden ausgewåhlte fundamentale Algorithmen wie Suchen, Sortieren und Traversieren und andere mehr behandelt. Schließlich soll die Vorlesung einen Einblick in allgemeine Problemlösungsstrategien wie ``Divide-and-Conquer'', Backtracking, u.a. geben.

Der Kurs legt besonderen Wert auf die praktische Umsetzung und Implementierung der vorgestellten Algorithmen in den begleitenden Übungen.

Organisatorisches

Anmeldung:

Wir bitten um schriftliche (per email) Anmeldung für den Kurs und um die Angabe folgender Daten:

Scheinkriterium

Für den Schein sind 50% der Punkte zu erreichen. Wer einen benoteten Schein braucht, bekommt ihn durch nach einer zusätzlichen mündlichen Prüfung am Ende des Kurses. Was die gestellten Programmieraufgaben betrifft, so gehen folgende Punkte in die Bewertung ein:
  1. (selbstverständlich) Korrektheit der Lösung, daneben aber auch
  2. sinnvolle Kommentierung des Kodes, Effizienz und Sauberkeit der Lösung. Ferner soll für jedes Programm eine
  3. Kurzbeschreibung der Lösung abgegeben werden.
Die verwendete Programmiersprache ist C.

Abgabe

Die Übungen werden in Zweiergruppen gelöst. Für Rechnerzugang ist pro Benuzter eine Unterschrift unter eine Wohlverhaltenserklärung erfoderlich. Die Gruppeneinteilung befindet sich hier. Der verbindliche Abgabetermin ist jeweils auf dem Übungszettel angegeben. Die Lösungen sollen per email abgegeben werden, und zwar an {rhu,ms}@informatik.uni-kiel.de. Dabei gilt: Ideal bei mehreren Aufgaben ist es, ein einfaches Makefile mit beizufügen, für die erste Aufgabe beispielsweise könnte das Auspacken der abgegebenen Lösung folgende Struktur besitzen: /home/<.....>/Uebung1: total 11 drwxr-xr-x 2 512 Nov 4 08:56 . drwxr-xr-x 3 512 Nov 2 21:40 .. -rw-r--r-- 1 1634 Nov 2 21:36 Info.txt -rw-r--r-- 1 1159 Nov 2 20:23 MergeSort.c -rw-r--r-- 1 90 Oct 30 17:21 MergeSort.h -rw-r--r-- 1 2353 Nov 2 21:12 SortTest.c -rw-r--r-- 1 224 Nov 4 08:55 Makefile Eine einfaches Makefiles zu diesem Übungszettel könnte entsprechend so aussehen:
test: SortTest.o MergeSort.o cc SortTest.o MergeSort.o -o SortTest SortTest.o: SortTest.c cc -c SortTest.c MergeSort.o: MergeSort.c MergeSort.h cc -c MergeSort.c clean: \rm -f MergeSort MergeSort.o SortTest.o SortTest

Nachbereitung:

...

Unterlagen

    Notizen/Folien (hier zum Papiersparen vierfach verkleinert) ab und zu

Aufgaben

Das Abgabedatum steht auf dem Übungszettel, in der Regel der Donnerstag nach der Ausgabe am Montag in der Vorlesung.

Zettel u. ä.

Literatur

Links

Ein ungeordnete Sammlung von Links


[Inhalt] [Organisatorisches] [Unterlagen] [Handouts] [Aufgaben] [Literatur] [Software] [Links]


Bei Fragen, email an ms@informatik.uni-kiel.de (Martin Steffen)
Maintained by: Martin Steffen
Last modified: Mon Oct 16 16:28:29 MET DST 2000