Erklärte Algorithmen - Was sie sind und gängige Sortieralgorithmen

In seiner grundlegendsten Form besteht ein Algorithmus aus einer Reihe detaillierter schrittweiser Anweisungen zum Ausführen einer Aufgabe. Ein Algorithmus zum Zubereiten von Kaffee in einer französischen Presse wäre beispielsweise:

  1. Gießen Sie Wasser in den Wasserkocher, schließen Sie den Deckel und schalten Sie ihn ein.
  2. Nehmen Sie den Deckel von der französischen Presse und gießen Sie 17 Gramm gemahlenen Kaffee ein.
  3. Wenn das Wasser im Wasserkocher kocht, gießen Sie 290 Gramm heißes Wasser in die französische Presse.
  4. Setzen Sie den Deckel der französischen Presse mit dem Kolben nach oben wieder auf.
  5. Warten Sie 4 Minuten.
  6. Drücken Sie den Kolben vorsichtig nach unten, bis er den Boden erreicht.
  7. Gießen Sie Kaffee in eine Tasse.

In der Informatik haben gängige Algorithmen Namen wie "Quicksort" und "Bogosort". Algorithmen werden häufig in verschiedene Kategorien wie Such-, Sortier- und Komprimierungsalgorithmen eingeteilt. Ferner können Algorithmen durch den Ansatz beschrieben werden, der zum Ausführen einer Aufgabe erforderlich ist, wie z. B. rekursiv, rückverfolgt, teilen und erobern, gierig und rohe Gewalt.

Algorithmen werden häufig mit Datenstrukturen gepaart, obwohl sie sich grundlegend unterscheiden. Datenstrukturen sind Methoden zum Speichern von Daten, damit ein Algorithmus problemlos Operationen daran ausführen kann.

Einige gängige Beispiele für Datenstrukturen sind Arrays, Stapel, Warteschlangen, verknüpfte Listen, Bäume, Diagramme, Hash-Tabellen und Heaps.

Effizienz

Algorithmen werden häufig anhand ihrer Effizienz und der benötigten Ressourcen beurteilt und verglichen. Eine der häufigsten Methoden zur Bewertung eines Algorithmus besteht darin, seine zeitliche Komplexität mithilfe einer Methode namens Big O-Notation zu untersuchen.

Die Big O-Notation beschreibt die Geschwindigkeit oder Komplexität eines Algorithmus und zeigt die Anzahl der Operationen im ungünstigsten Fall für eine bestimmte Eingabegröße. Es ist wichtig, die mögliche Laufzeit für verschiedene Algorithmen zu kennen, insbesondere wenn Sie mit großen oder wachsenden Datenmengen arbeiten. Die Big O-Notation erleichtert die Auswahl des richtigen Algorithmus für jede Aufgabe.

Sortieralgorithmen

Sortieralgorithmen gibt es je nach Bedarf in verschiedenen Varianten. Einige, sehr häufig und weit verbreitet sind:

Schnelle Sorte

Keine Sortierdiskussion ist vollständig, ohne die schnelle Sortierung zu erwähnen.

Zusammenführen, sortieren

Der Merge Sort-Algorithmus basiert auf dem Aufteilen und Sortieren kleinerer Arrays, bevor diese zu einem sortierten Array zusammengeführt werden.

Der Lehrplan von freeCodeCamp legt großen Wert auf die Erstellung von Algorithmen. Dies liegt daran, dass das Erlernen von Algorithmen ein guter Weg ist, um Programmierkenntnisse zu üben. Interviewer testen Kandidaten am häufigsten auf Algorithmen während Vorstellungsgesprächen für Entwickler.