Python - Algorithmus Design
Der Algorithmus ist eine schrittweise Prozedur, die eine Reihe von Anweisungen definiert, die in einer bestimmten Reihenfolge ausgeführt werden müssen, um die gewünschte Ausgabe zu erhalten. Algorithmen werden im Allgemeinen unabhängig von den zugrunde liegenden Sprachen erstellt, dh ein Algorithmus kann in mehr als einer Programmiersprache implementiert werden.
Aus Sicht der Datenstruktur sind im Folgenden einige wichtige Kategorien von Algorithmen aufgeführt:
Search - Algorithmus zum Suchen eines Elements in einer Datenstruktur.
Sort - Algorithmus zum Sortieren von Elementen in einer bestimmten Reihenfolge.
Insert - Algorithmus zum Einfügen eines Elements in eine Datenstruktur.
Update - Algorithmus zum Aktualisieren eines vorhandenen Elements in einer Datenstruktur.
Delete - Algorithmus zum Löschen eines vorhandenen Elements aus einer Datenstruktur.
Eigenschaften eines Algorithmus
Nicht alle Prozeduren können als Algorithmus bezeichnet werden. Ein Algorithmus sollte die folgenden Eigenschaften haben:
Unambiguous- Der Algorithmus sollte klar und eindeutig sein. Jeder seiner Schritte (oder Phasen) und seine Ein- / Ausgänge sollten klar sein und dürfen nur zu einer Bedeutung führen.
Input - Ein Algorithmus sollte 0 oder mehr genau definierte Eingaben haben.
Output - Ein Algorithmus sollte 1 oder mehr genau definierte Ausgaben haben und mit der gewünschten Ausgabe übereinstimmen.
Finiteness - Algorithmen müssen nach einer endlichen Anzahl von Schritten beendet werden.
Feasibility - Sollte mit den verfügbaren Ressourcen machbar sein.
Independent - Ein Algorithmus sollte schrittweise Anweisungen haben, die unabhängig von Programmcode sein sollten.
Wie schreibe ich einen Algorithmus?
Es gibt keine genau definierten Standards für das Schreiben von Algorithmen. Es ist vielmehr problem- und ressourcenabhängig. Algorithmen werden niemals geschrieben, um einen bestimmten Programmiercode zu unterstützen.
Da wir wissen, dass alle Programmiersprachen grundlegende Codekonstrukte wie Schleifen (do, for, while), Flusskontrolle (if-else) usw. gemeinsam haben, können diese allgemeinen Konstrukte zum Schreiben eines Algorithmus verwendet werden.
Wir schreiben Algorithmen Schritt für Schritt, aber das ist nicht immer der Fall. Das Schreiben von Algorithmen ist ein Prozess und wird ausgeführt, nachdem die Problemdomäne genau definiert wurde. Das heißt, wir sollten die Problemdomäne kennen, für die wir eine Lösung entwerfen.
Beispiel
Lassen Sie uns anhand eines Beispiels versuchen, das Schreiben von Algorithmen zu lernen.
Problem - Entwerfen Sie einen Algorithmus, um zwei Zahlen hinzuzufügen und das Ergebnis anzuzeigen.
step 1 − START
step 2 − declare three integers a, b & c
step 3 − define values of a & b
step 4 − add values of a & b
step 5 − store output of step 4 to c
step 6 − print c
step 7 − STOP
Algorithmen sagen den Programmierern, wie sie das Programm codieren sollen. Alternativ kann der Algorithmus wie folgt geschrieben werden:
step 1 − START ADD
step 2 − get values of a & b
step 3 − c ← a + b
step 4 − display c
step 5 − STOP
Beim Entwurf und der Analyse von Algorithmen wird normalerweise die zweite Methode verwendet, um einen Algorithmus zu beschreiben. Dies erleichtert dem Analysten die Analyse des Algorithmus, wobei alle unerwünschten Definitionen ignoriert werden. Er kann beobachten, welche Operationen verwendet werden und wie der Prozess abläuft.
Schreiben step numbers, es ist optional.
Wir entwerfen einen Algorithmus, um eine Lösung für ein bestimmtes Problem zu erhalten. Ein Problem kann auf mehrere Arten gelöst werden.
Daher können viele Lösungsalgorithmen für ein gegebenes Problem abgeleitet werden. Der nächste Schritt besteht darin, diese vorgeschlagenen Lösungsalgorithmen zu analysieren und die am besten geeignete Lösung zu implementieren.