© Ozz Design/Shutterstock.com
Teil 1: Die Grundlagen der Sortier- und Suchalgorithmen

Wer aufgeräumt hat, muss nicht suchen


Sortier- und Suchalgorithmen gehören zu den Basiskonzepten der Informatik. In Datenstrukturen wie Arrays, Listen und davon abgeleiteten modernen Formen nach den richtigen Informationen zu suchen, ist für eine Vielzahl von Anwendungen notwendig.

Man könnte hier einwenden: das macht doch meine Bibliothek von allein, ein Aufruf der passenden Funktion und fertig. So kann man mit Hilfe von sort(array, sorttype) eine einfache Datenstruktur in PHP sortieren. Das ist grundsätzlich richtig, aber es gibt zum Thema Suchen und Sortieren natürlich eine Menge mehr zu wissen. Spätestens dann, wenn man in umfassenden Datenbeständen suchen muss oder eine große Anzahl von Elementen zu sortieren hat, muss man sich damit intensiver beschäftigen. Wir wollen uns in einer zweiteiligen Artikelserie mit dem Thema vertraut machen.

In diesem Artikel geht es um die Grundlagen des Sortierens und Suchens. Das ist wichtig, um zum Beispiel bei umfassenden Suchaufgaben zu entscheiden, ob man ein leistungsfähigeres Suchverfahren benötigt. Das eingesetzte Suchverfahren entscheidet darüber, wie lange (im Durchschnitt) eine Suche dauert. Das kann bei sehr umfassenden Datenbeständen entscheidend sein. Sind Such- und Sortiervorgänge in der Praxis umzusetzen, dann muss man mit Blick auf Webapplikationen u. a. die folgenden Fragen beantworten:

  • Wie umfassend ist der Suchraum, welche Menge an Objekten muss durchsucht werden?

  • Welche Anforderungen an die Performance werden gestellt, wie viel Zeit ist vorhanden, um den Suchvorgang im Durchschnitt erfolgreich zu beenden?

  • Genügt es, die Standardsuche der Programmiersprache (PHP, JavaScript) anzuwenden, oder sollte man eine spezielle Library mit ausgewählten Suchalgorithmen einbinden?

  • Kommt man mit einem einfachen Suchverfahren zum Ziel, oder ist der Suchraum so komplex, dass man ein heuristisches Verfahren einsetzen muss?

  • Wo soll die Suche nach den relevanten Objekten durchgeführt werden? Bei Webapplikationen haben wir die Wahl zwischen einer Suche auf dem Ser...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang