Die theoretische Informatik ist älter als die praktische, angewandte
oder technische Informatik. Daher ist sie als wissenschaftliche
Disziplin bereits weiter ausgebaut als andere Bereiche der Informatik
und ihre Ergebnisse sind schwerer zugänglich, da sie auf ein größeres
und tieferes Fundament aufbauen. Stark verästelte Theorien ten- dieren
dazu, sich als Selbstzweck aufzufassen und als l'art pour l'art
betrieben zu werden. In der vorliegenden Einführung in die theoretische
Informatik begegnen wir dieser Gefahr, indem wir die Orientierung
moderner Theorien an den Anwendun- gen in den Mittelpunkt stellen. Schon
Novalis (1772-1801) hat darauf hingewiesen, dass die Theorie häufig den
Anwendungen vorauseilt: "Wenn die Theorie auf die Erfahrung warten
sollte, so käme sie nie zustande. " Nicht immer sind die Anwendungen von
Ergebnissen der theoretischen Informatik so direkt zu sehen wie die
Anwendungen anderer Zweige der Informatik. Dies gilt insbesondere für
negative Resultate. Dabei sind deren Konsequenzen klar. Wenn wir
beweisen, dass es bestimmte für die Praxis wünschenswerte Werkzeuge oder
Algorithmen nicht geben kann, muss die unsinnige, weil hoffnungslose
Arbeit an diesen Werkzeugen oder Algorithmen eingestellt und statt
dessen die Suche nach bestmöglichen Auswegen begonnen werden.
Andererseits sind positive Resultate nicht automatisch
anwendungsorientiert. Exis- tenzaussagen oder Algorithmen mit
exponentieller oder noch größerer Laufzeit sind häufig praktisch
wertlos. Das Neue an der vorliegenden Einführung in die theore- tische
Informatik ist die konsequent algorithmenorientierte Sichtweise (zum
didak- tischen Hintergrund siehe Wegener (1995)). Stets wurde bei
positiven Resultaten eine Umsetzung in praktisch und theoretisch
effiziente Algorithmen angestrebt.