© saicle/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.

Sortieren und Suchen – ein State of the Art

Teil 1: Die Grundlagen der Sortier- und Suchalgorithmen

Teil 2: Sortieren und Suchen mit PHP und JavaScript

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 Server (PHP) und/oder dem Client (JavaScript). Suchen wir auf dem Server, ermitteln wir zunächst die relevanten Objekte und liefern sie an den Client aus. Suchen wir auf dem Client, müssen wir alle Objekte bereitstellen und dann das gewünschte Objekt suchen.

Sortier- und Suchverfahren bedingen einander, daher werden sie in der Regel gemeinsam betr...

Neugierig geworden?

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