Читать книгу Algorithmen und Datenstrukturen - Gunter Saake - Страница 16

1.1Informatik, Algorithmen und Datenstrukturen

Оглавление

Informatik

Informatik ist ein Kunstwort aus den 60er Jahren, das die Assoziationen Informatik gleich Information oder Technik oder Informatik gleich Information und Mathematik erwecken sollte. Bei der Begriffsbildung sollte durchaus bewusst ein Gegensatz zum amerikanischen Begriff Computer Science aufgebaut werden, um zu verdeutlichen, dass die Wissenschaft Informatik nicht nur auf Computer beschränkt ist. Informatik als Begriff ist insbesondere im nicht englischsprachigen europäischen Raum gebräuchlich. Die Informatik hat zentral zu tun mit

 systematischer Verarbeitung von Informationen und

 Maschinen, die diese Verarbeitung automatisch leisten.

Wichtige Grundkonzepte der Informatik können in einer maschinenunabhängigen Darstellung vermittelt werden. Der Bezug zu den Themen diese Buches kann durch die folgende Aussage hergestellt werden:

Algorithmen und Daten

Die »systematische Verarbeitung« wird durch den Begriff Algorithmus präzisiert, Information durch den Begriff Daten.

In einer ersten Näherung kann man das Konzept des Algorithmus wie folgt charakterisieren:

Ein Algorithmus ist eine eindeutige Beschreibung eines in mehreren Schritten durchgeführten (Bearbeitungs-)Vorganges.

In der Informatik werden nun speziell Berechnungsvorgänge statt allgemeiner Bearbeitungsvorgänge betrachtet, wobei der Schwerpunkt auf der Ausführbarkeit durch (abstrakte) Maschinen liegt, die auch als Prozessoren bezeichnet werden:

Prozessor

Ein Prozessor führt einen Prozess (Arbeitsvorgang) auf Basis einer eindeutig interpretierbaren Beschreibung (dem Algorithmus) aus.

In diesem Buch werden eine Reihe von Fragestellungen behandelt, die Aspekte des Umgangs mit Algorithmen betreffen. Die verschiedenen Notationen für die Beschreibung von Algorithmen führen direkt zu Sprachkonzepten moderner Programmiersprachen.

Ausdrucksfähigkeit verschiedener Notationen

Wenn verschiedene Notationen verwendet werden können, stellt sich die Frage der Ausdrucksfähigkeit dieser Algorithmensprachen. Man kann sich diese Fragestellungen daran verdeutlichen, dass man sich überlegt, wie ausdrucksfähig die Bienensprache, die ja konkrete Wegbeschreibungen ermöglicht, im Vergleich zu einer Programmiersprache zur Wegfindungsprogrammierung von Robotern ist, oder ob dressierte Hunde tatsächlich dieselbe Sprache verstehen wie Menschen.

Korrektheit und Zeitbedarf

Spätestens beim Übergang zu konkreten Programmen in einer Programmiersprache müssen natürlich die Fragestellungen der Korrektheit und des Zeitbedarfs bzw. der Geschwindigkeit von Programmen betrachtet werden.

In diesem Buch geht es primär um Algorithmen für Rechner, also schnelle (aber dumme) Prozessoren (ein Rechner ist im Vergleich zu einem Menschen ein »Hochgeschwindigkeitstrottel«, der falsche Anweisungen prinzipiell nicht erkennen kann, aber sehr schnell als Programm vorgegebene Anweisungen ausführen kann). Hierzu werden mathematisch formale Grundlagen von Algorithmen eingeführt – ein Rechner »versteht« nur Bits, so dass jede Anweisungssprache auf diese einfache Ebene heruntergebrochen werden muss. Die Umsetzung von menschenverständlichen Algorithmen in eine maschinennahe Darstellung geht natürlich nur, wenn die Bedeutung beider Darstellungen exakt formal festgelegt ist.

Datenstrukturen

Auch wenn sich beim Programmieren scheinbar alles um die Algorithmen dreht, ist das Gegenstück, die Datenstrukturen, ebenfalls ein zentraler Aspekt der Grundlagen der Informatik. Erst rechnerverarbeitbare Darstellungen von Informationen erlauben das Programmieren realistischer Probleme auf einer angemessenen Abstraktionsebene – die Zeit, in der ein Programmierer sich an den Rechner anpassen und direkt in Bits und Bytes denken musste, ist zumindest in der nicht stark hardwarenahen Programmierung vorbei.

Algorithmen und Datenstrukturen

Подняться наверх