Eine Familie benutzt einen Laptop.
Bildnachweis: altrendo images/Stockbyte/Getty Images
Suchalgorithmen sind ein wichtiger Bestandteil vieler Programme. Bei einigen Suchen wird nach einem Eintrag in einer Datenbank gesucht, z. B. nach Ihrem Eintrag in der IRS-Datenbank. Andere Suchalgorithmen durchsuchen einen virtuellen Raum, wie zum Beispiel diejenigen, die nach den besten Schachzügen suchen. Obwohl Programmierer aus zahlreichen Suchtypen wählen können, wählen sie den Algorithmus aus, der am besten zur Größe und Struktur der Datenbank passt, um eine benutzerfreundliche Erfahrung zu bieten.
Lineare Suche
Die lineare Suche ist der Algorithmus der Wahl für kurze Listen, da sie einfach ist und nur minimalen Code zu implementieren erfordert. Der lineare Suchalgorithmus überprüft das erste Listenelement, um zu sehen, ob Sie danach suchen, und wenn ja, sind Sie fertig. Wenn nicht, wird das nächste Element und dann jeder Eintrag in der Liste durchsucht.
Video des Tages
Binäre Suche
Die binäre Suche ist ein beliebter Algorithmus für große Datenbanken mit Datensätzen, die nach numerischen Schlüsseln geordnet sind. Beispielkandidaten sind die IRS-Datenbank, die nach der Sozialversicherungsnummer verschlüsselt ist, und die DMV-Datensätze, die nach den Führerscheinnummern verschlüsselt sind. Der Algorithmus beginnt in der Mitte der Datenbank – wenn Ihre Zielnummer größer als die mittlere ist, wird die Suche mit der oberen Hälfte der Datenbank fortgesetzt. Ist Ihre Zielnummer kleiner als die mittlere Nummer, wird die Suche mit der unteren Hälfte der Datenbank fortgesetzt. Es wiederholt diesen Vorgang und schneidet die Datenbank jedes Mal in zwei Hälften, bis es den Datensatz findet. Diese Suche ist komplizierter als die lineare Suche, aber bei großen Datenbanken viel schneller als eine lineare Suche.
Baumsuche
Eine Baumsuche funktioniert nur, wenn die Daten in eine Baumstruktur passen. Die Datenbank beginnt bei einem Stamm, der zu einigen Elementen führt, von denen jedes zu einigen weiteren Elementen führt und so weiter, bis Sie einen Baum haben. Ein Beispiel ist das Schachspiel. Die aktuelle Vorstandsposition ist die Wurzel. Die legalen Züge aus dieser Position stellen einen Schritt im Baum dar, und so weiter, bis der Spieler die Brettposition gefunden hat, die ihn in der besten Position zurücklässt.
Genetischen Algorithmus
Eine genetische Algorithmussuche ist eine der Techniken hinter der künstlichen Intelligenz. Es sucht nach einer „optimalen Lösung“, ausgedrückt in einer Datenkette – etwa der Liste der Innenabmessungen eines Strahltriebwerks, das maximalen Schub liefert. Die Suche beginnt mit einer zufälligen Population von Saiten und testet jede einzelne, behält die besten und züchtet sie, um die nächste Generation zu erhalten. Das Programm wiederholt diesen Vorgang so lange, bis es zu einer optimalen Lösungszeichenfolge gelangt.