|
Vorlesung aus Algorithmen und Datenstrukturen, SS 2001
Aktuelle Hinweise
- Algorithmenbeschreibungsprache Jana (PDF,
HTML)
Inhalt der Vorlesung
- Einleitung und Übersicht
- Grundbegriffe
- Struktur und Entwurf
- Algorithmen mit Gedächtnis
- Elementare, höhere und abstrakte Datenstrukturen
- Rekursive Algorithmen
- Komplexität von Algorithmen
- Verifikation von Algorithmen
- Algorithmen mit Zufallszahlen
- Sortier- und Suchalgorithmen
- Algorithmen auf Zeichenketten
- Exhaustionsalgorithmen
- Geometrie- und Graph-Algorithmen
- Die Welt der Algorithmen
Die Definition des Begriffs
"Algorithmus"
- Pomberger
Ein Algorithmus ist eine präzise, d.h. in einer festgelegten
Sprache abgefaßte, endliche Beschreibung eines schrittweisen
Problemlösungsverfahrens zur Ermittlung gesuchter Größen aus
gegebenen Größen, in dem jeder Schritt aus einer Anzahl
ausführbarer eindeutiger Aktionen und einer Angabe über den
nächsten Schritt besteht. Ein Algorithmus heißt abbrechend,
wenn er die gesucht Größe nach endlich vielen Schritten liefert,
andernfalls heißt der Algorithmus nicht abbrechend.
- Knuth
- Ein Algorithmus muß nach endlich vielen Schritten enden.
- Jeder Schritt eines Algorithmus muß exakt beschrieben sein; die
in ihm verlangten Aktionen müssen präzise formuliert und in
jedem Falle eindeutig interpretierbar sein.
- Ein Algorithmus hat keine, eine oder mehrere Eingangsgrößen,
d.h. Größen, die von ihm benutzt und deren Werte vor Beginn
seiner Ausführung festgelegt werden müssen.
- Ein Algorithmus hat eine oder mehrere Ergebnisgrößen, d.h. Größen,
deren Werte in Abhängigkeit von den Eingangsgrößen während der
Ausführung des Algorithmus berechnet werden.
- Ein Algorithmus muß so geartet sein, daß die in ihm verlangten
Aktionen im Prinzip von einem Menschen in endlicher Zeit mit
Papier und Bleistift ausgeführt werden können.
- Aho, Hopcroft, Ullman
Ein Algorithmus ist eine endliche Folge von Instruktionen, die alle
eindeutig interpretierbar und mit endlichem Aufwand in endlicher Zeit
ausführbar sind. Algorithmen enthalten Instruktionen zur Formulierung
von (beliebig vielen) Wiederholungen anderer Instruktionen. Unabhängig
von den Werten der Eingangsgrößen endet ein Algorithmus stets nach
endlich vielen Instruktionsschritten. Ein Programm ist dann ein
Algorithmus, wenn für alle möglichen Eingabewerte sichergestellt
ist, daß keine Instruktion unendlich oft wiederholt wird.
- Kronsjö
Ein Verfahren, beschrieben durch eine endliche Menge von eindeutig
interpretierbaren Regeln, das eine endlich lange Folge von Operationen
zur Lösung eines Problems oder einer speziellen Problemklasse
beschreibt, wird Algorithmus genannt.
- Bauer, Goos
Ein Algorithmus ist eine präzise, d.h. in einer festgelegten Sprache
abgefaßte, endliche Beschreibung eines allgemeinen Verfahrens unter
Verwendung ausführbarer elementarer (Vearbeitungs-) Schritte.
- Rechenberg
Ein Algorithmus ist ein endliches schrittweises Verfahren zur
Berechnung gesuchter aus gegebenen Größen, in dem jeder Schritt aus
einer Anzahl ausführbarer eindeutiger Operationen und einer Angabe über
den nächsten Schritt besteht.
Literatur
- A.V. Aho, J.E. Hopcroft, J.D. Ullman: Data Structures and
Algorithms. Addison-Wesley, 1983.
- O.J. Dahl, E.W. Dijkstra, C.A.R. Hoare: Structured
Programming. Academic Press, 1972.
- E. Horowitz, S. Sahni: Fundamentals of Computer Algorithms.
Pitman, London, 1979.
- D.E. Knuth: The Art of Computer Programming.
Addison-Wesley, 1973.
- Vol. 1: Fundamental Algorithms.
- Vol. 2: Seminumerical Algorithms.
- Vol. 3: Sorting and Searching.
- R. Sedgewick: Algorithms. Addison-Wesley, 1983.
- N. Wirth: Algorithmen und Datenstrukturen. Teubner
Studienbücher Informatik, 1986.
- G. Pomberger, G. Blaschek: Software Engineering, 2.
Auflage, Hanser Verlag, 1996.
- G. Pomberger, P. Rechenberg: Informatik-Handbuch,
2. Auflage, Hanser Verlag, 1999.
|