Kapitel 5. Algorithmen optimieren

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

Die Zeit heilt, was die Vernunft nicht kann.

Seneca der Jüngere (ca. 4 v. Chr. - 65 n. Chr.)

Wenn ein Programm Stunden für die Ausführung braucht, obwohl es nur Sekunden dauern sollte, ist die einzige Optimierung, die erfolgreich sein kann, die Auswahl eines effizienteren Algorithmus. Die meisten Optimierungen verbessern die Leistung nur um einen konstanten Faktor. Das Ersetzen eines ineffizienten Algorithmus durch einen leistungsfähigeren ist die einzige Möglichkeit, die Leistung um eine Größenordnung zu verbessern.

Der Entwurf effizienter Algorithmen ist das Thema vieler ganzer Informatik-Lehrbücher und zahlreicher Dissertationen. Es gibt spezialisierte Informatiker, die ihre Karriere der Analyse von Algorithmen widmen. Es gibt keine Möglichkeit, das Thema in einem einzigen kurzen Kapitel abzuhandeln. Stattdessen befasst sich dieses Kapitel kurz mit den Zeitkosten von Algorithmen und gibt dir einen Leitfaden an die Hand, mit dem du erkennen kannst, wann du in Schwierigkeiten steckst.

Ich werfe einen Blick auf gängige Such- und Sortieralgorithmen und stelle ein Toolkit zur Optimierung von Such- und Sortierverfahren in bestehenden Programmen vor. Neben der Auswahl eines Algorithmus, der für unbekannte Daten optimal ist, gibt es auch Algorithmen mit außergewöhnlicher Leistung für Daten, die sortiert oder fast sortiert ...

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.