Suchalgorithmen

Seien es Nutzerdaten in Internetportalen, Datenbanken zu Normteilen oder Messdaten. Die heutzutage anfallenden Datenmengen sind für einzelne Personen nicht mehr überschaubar und unausgewertet auch nicht von Wert. Um an die in einer Datenbank liegenden Informationen zu gelangen verwendet man Suchalgorithmen.

Die Effizienz eines Algorithmus drückt sich dadurch aus, wie schnell er ein Element finden kann. Dabei ist zu beachten wie die zu durchsuchenden Daten vorliegen.

Ein großes Textdokument soll nach einer bestimmten Zeichenkette durchsucht werden. Zum Auffinden der Zeichenkette wird der Text von Anfang zum Ende durchlaufen und dem Nutzer jede Übereinstimmung zwischen Textpassage und Zeichenkette angezeigt. Die Liste muss dabei komplett durchlaufen werden. Hierbei kann die im Praxisteil vorgestellte lineare Listensuche verwendet werden. 

Der Suchalgrotihmus hat vor Durchsuchen des Textes keine Kenntnis über das vorliegende Problem und muss daher langsam das gesamte Dokument durchlaufen.

Es liegen in einer Datenbank Daten zu Normschrauben vor. Die Schrauben sind in der Datenbank der Größe nach sortiert. Der Algorithmus kann durch Kenntniss dieses Umstands effizienter arbeiten. Statt die Liste von Anfang bis Ende zu durchlaufen, beginnt der Algorithmus in der Mitter der Liste und schaut ob das gesuchte Element links oder rechts der Mitte liegt. Dieses vorgehen wird für jedes Teilfeld wiederholt bis das Element gefunden ist. Das Vorgehen wird als binäre Suche bezeichnet.

Der Suchalgorithmus kann durch die Beschaffenheit des Problems effizienter arbeiten. Der gleiche Algroithmus wäre auf ein unsortiertes Problem nicht anwendbar, schlägt aber den erst genannten in diesem speziellen Fall.

 

Ein Algorithmus der auf viele Probleme anwendbar ist, ist häufig nicht der effizienteste für ein spezielles Problem. Hier empfiehlt es sich den Algorithmus den speziellen begebenheiten anzupassen.