Voss‘ Definition von Programm gliedert sich in zwei Teile: Algorithmus und Datenstruktur. Algorithmen spiegeln zentral den Prozess der Computerausführung wider. Datenstrukturen sind strukturelle Beziehungen zwischen großen Datenmengen. Durch das Entwerfen einer guten Datenstruktur können Algorithmen für die verarbeiteten Objekte erheblich vereinfacht werden.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.
N. Witrh, der Schöpfer der PASCAL-Sprache, gab eine prägnante und präzise Definition des Programms:
Algorithmus + Datenstruktur = Programm (Algorithmus + Datenstruktur = Programm)
Der Algorithmus spiegelt konzentriert die Ausführung des Computerprozesses wider. Datenstruktur ist die strukturelle Beziehung zwischen einer großen Datenmenge. Je nach verarbeitetem Objekt kann das Entwerfen der Datenstruktur den Algorithmus erheblich vereinfachen. Algorithmen und Datenstrukturen sind zwei wichtige Aspekte der Programmierung. Frühe Programmiersprachen waren bei der Beschreibung von Datenstrukturen äußerst schwach, was die algorithmischen Aufgaben erschwerte. Mit der Entwicklung von Sprachen nahmen die Datenbeschreibungsfähigkeiten allmählich zu, was ebenfalls ein wichtiges Zeichen für die Sprachentwicklung ist.
Algorithmus bezieht sich auf eine genaue und vollständige Beschreibung einer Problemlösung. Es handelt sich um eine Reihe klarer Anweisungen zur Lösung von Problemen, die eine systematische Methode zur Beschreibung des strategischen Mechanismus zur Lösung von Problemen darstellen. Mit anderen Worten: Es ist möglich, innerhalb einer begrenzten Zeit für eine bestimmte Eingabespezifikation den erforderlichen Output zu erhalten. Wenn ein Algorithmus fehlerhaft oder für ein Problem ungeeignet ist, wird die Ausführung des Algorithmus das Problem nicht lösen. Verschiedene Algorithmen können unterschiedliche Zeit, Raum oder Effizienz nutzen, um dieselbe Aufgabe zu erledigen. Die Qualität eines Algorithmus kann an seiner räumlichen und zeitlichen Komplexität gemessen werden.
Anweisungen in einem Algorithmus beschreiben eine Berechnung, die bei ihrer Ausführung von einem Anfangszustand und einer (möglicherweise leeren) Anfangseingabe ausgehen, eine begrenzte und klar definierte Reihe von Zuständen durchlaufen, schließlich eine Ausgabe erzeugen und am Ende stoppen kann. Zustand. Der Übergang von einem Zustand in einen anderen ist nicht unbedingt deterministisch. Einige Algorithmen, einschließlich randomisierter Algorithmen, enthalten zufällige Eingaben.
Das Konzept der formalen Algorithmen entstand teilweise aus Versuchen, Hilberts Entscheidungsprobleme zu lösen, und nahm in späteren Versuchen, effiziente Berechenbarkeit oder effiziente Methoden zu definieren, Gestalt an. Zu diesen Versuchen gehörten die rekursiven Funktionen, die 1930, 1934 und 1935 von Kurt Gödel, Jacques Herbrand und Stephen Cole Crane vorgeschlagen wurden, der 1936 von Alonzo Church vorgeschlagene Lambda-Kalkül, die Formel 1 von Emil Leon Post aus dem Jahr 1936 und die Turing-Maschine von Alan Turing 1937. Auch heute noch gibt es oft Fälle, in denen intuitive Ideen schwer als formale Algorithmen zu definieren sind.
Datenstruktur ist eine Sammlung von Datenelementen mit strukturellen Merkmalen. Sie untersucht die logische Struktur von Daten und die physische Struktur von Daten sowie die Beziehung zwischen ihnen und definiert geeignete Operationen für diese Struktur, entwirft entsprechende Algorithmen und stellt sicher, dass sie neu sind Die nach diesen Vorgängen erhaltene Struktur behält weiterhin den ursprünglichen Strukturtyp bei. Kurz gesagt ist eine Datenstruktur eine Sammlung von Datenelementen, die eine oder mehrere spezifische Beziehungen zueinander haben, also eine Sammlung von Datenelementen mit einer „Struktur“. „Struktur“ bezieht sich auf die Beziehung zwischen Datenelementen, die in logische Struktur und Speicherstruktur unterteilt ist.
Die logische Struktur und die physische Struktur von Daten sind zwei eng miteinander verbundene Aspekte der Datenstruktur. Dieselbe logische Struktur kann unterschiedlichen Speicherstrukturen entsprechen. Der Entwurf des Algorithmus hängt von der logischen Struktur der Daten ab, und die Implementierung des Algorithmus hängt von der angegebenen Speicherstruktur ab.
Der Forschungsinhalt der Datenstruktur ist die Grundlage für den Aufbau komplexer Softwaresysteme. Seine Kerntechnologie ist Zerlegung und Abstraktion. Durch Zerlegung können drei Datenebenen unterteilt werden. Durch Abstraktion wird der spezifische Inhalt der Datenelemente verworfen und die logische Struktur erhalten. In ähnlicher Weise erhält man die Definition einer Operation, indem man die Verarbeitungsanforderungen in verschiedene Funktionen zerlegt und dann die Implementierungsdetails durch Abstraktion verwirft. Die Kombination der beiden oben genannten Aspekte kann das Problem in eine Datenstruktur umwandeln. Dabei handelt es sich um einen Prozess vom Konkreten (also konkreten Problemen) zum Abstrakten (also Datenstrukturen). Anschließend werden unter Berücksichtigung der Implementierungsdetails die Speicherstruktur und die Implementierungsvorgänge weiter ermittelt, um die Entwurfsaufgabe abzuschließen. Dies ist ein Prozess von abstrakt (d. h. Datenstruktur) zu konkret (d. h. spezifische Implementierung).
Für mehr Computerwissen besuchen Sie bitte die FAQ-Kolumne!
Das obige ist der detaillierte Inhalt vonVoss' Programmdefinition gliedert sich in mehrere Teile.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!