Effizienz
Um die Effizienz eines Algorithmus bestimmen zu können, kann nicht einfach die Zeit gemessen werden, welche benötigt wird, um das gewünschte Problem zu lösen. Diese kann nämlich von externen Faktoren abhängen, im Wesentlichen sind dies systemspezifische Faktoren. Algorithmenspezifische Aspekte sind dahingehend die, die alleine vom Algorithmus selbst abhängen und somit eine allgemein gültige Aussage über die Laufzeit geben.
Erstere beziehen sich auf die Leistungsfähigkeit der Maschinen, die den Algorithmus verarbeiten. So kann der gleiche Algorithmus von dem einen Computer in wenigen Millisekunden verarbeitet werden, während der andere einige Sekunden benötigt. Es muss also berücksichtigt werden, wie gut und schnell eine Maschine arbeitet und ob sie z.B. noch alle angegebenen Informationen in die zugehörige Maschinensprache übersetzen muss. Diese Probleme minimieren sich mehr und mehr mit jeder neu entstehenden Computergeneration.
Platz- und Zeitkomplexität
Zusätzlich wird zwischen Speicherplatz/Platzkomplexität und Laufzeiteffizienz/Zeitkomplexität unterschieden. Beides sind wichtige Komplexitätsmaße, denn sie sind entscheidend für den sinnvollen Einsatz eines Algorithmus. Um effizient zu arbeiten, sollte eine lange Laufzeit und ein großer Speicherplatzbedarf vermieden werden.
Um einen Eindruck zur Laufzeiteffizienzanalyse zu bekommen, wird diese im Unterabschnitt Sortieralgorithmen veranschaulicht.
Mehr Informationen zu Algorithmen finden Sie unter (Dieker & Güting, 2018).