Kapitel 9. Suche und Sortierung optimieren

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Es gibt einen Weg, es besser zu machen - finde ihn.

Thomas A. Edison (1847-1931), amerikanischer Erfinder und Optimierer

In C++-Programmen wird viel gesucht. Von Compilern für Programmiersprachen bis hin zu Webbrowsern, von Listensteuerelementen bis hin zu Datenbanken - viele wiederkehrende Aktivitäten haben eine Suche am Ende einer inneren Schleife. Meiner Erfahrung nach taucht die Suche häufig auf Listen mit heißen Funktionen auf. Es lohnt sich also, der effizienten Suche besondere Aufmerksamkeit zu widmen.

Dieses Kapitel befasst sich mit der Suche in Tabellen aus der Sicht des Optimierers. Ich verwende die Suche als Beispiel für einen allgemeinen Prozess, mit dem ein Entwickler an die Optimierungsaufgabe herangehen kann, indem er eine bestehende Lösung in ihre einzelnen Algorithmen und Datenstrukturen zerlegt und dann jede dieser Strukturen auf Möglichkeiten zur Leistungsverbesserung untersucht. Außerdem bewerte ich einige spezifische Suchmethoden, um den Optimierungsprozess zu veranschaulichen.

Die meisten C++-Entwickler wissen, dass der Standardbibliothekscontainer std::map zum Nachschlagen von Werten verwendet werden kann, die mit einer Indexnummer oder einer alphanumerischen Schlüsselzeichenfolge verknüpft sind. Solche Verknüpfungen werden Schlüssel/Wert-Tabellen genannt. Sie erstellen eine Zuordnung ...

Get Optimiertes C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.