Gibt es einen technischen Unterschied zwischen diesen beiden Wörtern oder können wir sie austauschbar verwenden? Beide beschreiben mehr oder weniger die logische Abfolge der Schritte, die beim Lösen eines Problems folgen. ist es nicht? Also, warum benutzen wir eigentlich zwei solche Wörter, wenn sie über dasselbe sprechen sollen?
Oder, falls es sich nicht auch um Wörter handelt, was unterscheidet sie? In welchen Kontexten sollen wir das Wort Pseudocode gegenüber dem Wortalgorithmus verwenden?
algorithms
terminology
pseudocode
Vamsi Emani
quelle
quelle
Antworten:
Wikipedia's Definition eines Algorithmus:
Algorithmen können auf verschiedene Arten beschrieben werden, von reinen mathematischen Formeln bis hin zu komplexen Graphen ohne Pseudocode.
Pseudocode beschreibt, wie Sie einen Algorithmus implementieren würden, ohne auf syntaktische Details einzugehen.
Also nein, sie sind auch nicht wirklich.
quelle
Ein Algorithmus ist eine Idee zum Schreiben des Codes. Pseudocode ist der geschriebene Text, den Sie benötigen, um diese Idee zu kommunizieren.
quelle
"Pseudocode" bedeutet "Algorithmus", während "Englisch" "Klopf-Klopf-Witz" bedeutet.
Ein Algorithmus ist eine formale Struktur für etwas, das im Pseudocode oder im tatsächlichen Code ausgedrückt werden kann.
Ein Klopf-Klopf-Witz ist eine formale Struktur für etwas, das auf Englisch oder in einer anderen Sprache ausgedrückt werden kann. (Machen andere Kulturen Klopf-Klopf-Witze? Ich weiß es nicht einmal.)
quelle
Es gibt nur einen Quicksort-Algorithmus, wie er in Platons Welt der reinen Ideen existieren würde. Es kann eine beliebige Anzahl unterschiedlicher Pseudocode-Beschreibungen geben. Ich denke, ich würde Pseudocode als Text definieren, der in etwa wie Computercode aussieht und von einem erfahrenen Programmierer in tatsächlichen Computercode übersetzt werden könnte, ohne irgendwelche kreativen Sprünge machen zu müssen.
Also nein, ich würde die Begriffe nicht austauschbar verwenden.
quelle
Ein Algorithmus ist ein systematischer logischer Ansatz zur Lösung von Problemen in einem Computer, während Pseudocode die Anweisung in einfachem Englisch ist, die später in eine Programmiersprache (Programm) übersetzt werden kann.
quelle
Ein Algorithmus ist die Semantik, während der Pseudocode nur eine Syntax der Kommunikation zur Lösung eines Problems ist. Dies bedeutet, dass der Algorithmus ein tatsächlicher Weg ist, ein Problem zu lösen, während der Pseudocode nur ein Weg ist, dies auszudrücken.
Ein Algorithmus hat die gleiche Bedeutung (Semantik), wenn Sie ihn auf irgendeine Weise ausdrücken (Syntax), sei es C-Programmiersprache, Pseudocode oder englische Sprache.
quelle
Pseudocode, wie ich ihn verstehe, ist ein Vermittler zwischen einem Algorithmus und einem implementierten Programm. Sie können Ihren Pseudocode auf einen Algorithmus stützen. Dies enthält übertragbare Schritte zur Implementierung.
Algorithmus dagegen impliziert die Gesamtlogik. in aufeinander folgenden Schritten, um ein Problem zu lösen. Wenn es schematisch dargestellt wird, spricht man von einem Flussdiagramm.
Einige bezeichnen dies möglicherweise als Pseudo-Code, der ein gängiger Begriff in der Entwicklung von Unternehmenssoftware ist, in dem die clientseitigen Entwickler von Geschäftsobjekten Pseudo-Code basierend auf Anforderungen schreiben. Dies wird einem Programmierer / Entwickler zur Implementierung gegeben.
Algorithmen, die bei der Programmierung von Begriffen wie Systemprogrammierung, -suche und -sortierung gebräuchlicher sind, sind grundsätzlich überall dort zu finden, wo eine komplexe Logik implementiert werden muss.
quelle
Obwohl Pseudocode dem Code näher zu sein scheint als ein Algorithmus, ist Pseudocode in der Praxis weniger formal und eine Beschreibung auf höherer Ebene. Zum Beispiel können Sie einen Schachspielcomputer wie folgt als Pseudocode beschreiben:
Ja, dies ist ein Pseudocode, der als guter Ausgangspunkt hilfreich ist, aber viele Details überdeckt. Implementierungsschwierigkeiten und -variationen werden nicht berücksichtigt. Der größte Vorteil besteht jedoch darin, dass Sie die gesamte Situation konzipieren können, ohne alle Details lösen zu müssen.
Sie können es überarbeiten und eine weitere Ebene hinzufügen:
Jetzt können Sie für jeden der Hauptschritte Pseudocode schreiben, z. B. "Liste der legalen Schritte von Schwarz erstellen":
Jetzt können Sie sehen, dass die Stärke von Pseudocode darin besteht, die gesamte Situation auf einmal darzustellen und dann Details Stück für Stück zu adressieren. Die Schwäche ist, dass jeder Schritt kein bestimmter einfacher Schritt ist.
Ein Algorithmus greift normalerweise einen dieser Schritte auf und beschreibt verschiedene Datenstrukturen in einer symbolischen Sprache, damit Sie das Ziel des Schritts effizient erreichen können.
Ist zum Beispiel
get_legal_moves(board, color)
eines Algorithmusentwurfs würdig:Sie können sehen, dass der Algorithmus sehr genau sein muss, um nützlich zu sein.
Es stellt mehrere Dinge sicher: dass die Ziele in erster Linie fehlerfrei erreicht werden. Die Schritte sind sehr detailliert und mechanisiert ausführbar und so klein, dass Sie sie neu anordnen können, um die Effizienz (Geschwindigkeit) zu erhöhen, mit der Sie die Aufgabe abschließen.
quelle
Nach meiner Erfahrung wurde Pseudocode immer von Fachleuten (Personen, denen der Prozess gehört) geschrieben, um die Geschäftsregeln auszudrücken, die für einen Prozess, ein Modul oder ein Subsystem gelten.
Ein Algorithmus besteht aus einer Reihe von logischen Anweisungen, mit denen eine bestimmte Aufgabe so genau wie möglich gelöst werden kann.
quelle
Algorithmus ist etwas, das in mathematischen Begriffen dargestellt wird. Es beinhaltet Analyse, grundlegende Implementierung (auch wenn dies in Pseudocode ausgedrückt ist), Überlegungen zur Komplexität (beste, durchschnittliche und schlechteste Analyse usw.).
Pseudocode ist eine von Menschen lesbare Darstellung eines Programms. Sogar das kann verwendet werden, um einen Algorithmus zu beschreiben.
quelle
Pseudo bedeutet, dass Single & Code eine Anweisung sein kann. Hier bedeutet Pseudo-Code eine Anweisung, die verwendet wird, um die Programmiersprache des Computers leicht zu verstehen. Sie hilft bei der Analyse des Programmiercodes. . wobei als Algorithmus ein endlicher logischer Schritt von Anweisungen zur Lösung eines Problems ist.
quelle