Die erwartete Laufzeit eines randomisierten Algorithmus ist genau wie die Laufzeit im ungünstigsten Fall ein genau definiertes Konzept. Wenn ein Algorithmus randomisiert ist, ist seine Laufzeit ebenfalls zufällig, was bedeutet, dass wir den erwarteten Wert seiner Laufzeit definieren können.
Ein bekanntes Beispiel ist Quicksort: Wenn wir die Pivots zufällig auswählen, können wir nachweisen, dass die erwartete Laufzeit O (n log n) ist, obwohl die Laufzeit im ungünstigsten Fall O (n ^ 2) bleibt. Ein Beispiel, bei dem die Randomisierung sehr mächtig ist, ist das kleinste Einschlusskreisproblem: Es gibt einen einfachen Algorithmus, dessen Laufzeit im ungünstigsten Fall O (n ^ 3) ist, dessen Laufzeit jedoch erwartungsgemäß nur O (n) ist.
Die durchschnittliche Laufzeit wird normalerweise verwendet, wenn über das Verhalten eines Algorithmus 'für die meisten Eingaben' gesprochen wird. Wir definieren eine Art der zufälligen Erzeugung einer Eingabe, zum Beispiel füllen wir ein Array mit Zufallszahlen oder wir permutieren die Zahlen 1 bis n zufällig (also keine Duplikate), oder wir werfen eine Münze und erhalten entweder eine absteigende oder eine aufsteigende Menge von zahlen. Die durchschnittliche Laufzeit eines Algorithmus für diese zufällige Verteilung von Eingaben ist dann die erwartete Laufzeit des Algorithmus (in diesem Fall ist der Algorithmus möglicherweise nicht randomisiert, die Eingabe jedoch).
Als Beispiel: Es gibt geometrische Probleme, für die Algorithmen existieren, die auf den ersten Blick gut zu funktionieren scheinen, bis Sie eine sehr seltsame Art der Verteilung beispielsweise der Eingabezeilen entdecken. Wenn Sie annehmen, dass die Zeilen zufällig verteilt sind, kann es sein, dass diese seltsamen Szenarien äußerst unwahrscheinlich sind, sodass Ihr Algorithmus am Ende gut ist.
Kontrast: Bei der erwarteten Laufzeit geht es darum, wie ein Algorithmus funktioniert, es sei denn, Sie haben Pech. Wenn Sie denselben Algorithmus an derselben Eingabe aber mit unterschiedlichen Zufallsentscheidungen wiederholen, wird er möglicherweise viel schneller gelöst. Die durchschnittliche Laufzeit gibt an, wie gut ein Algorithmus bei den meisten Eingaben abschneidet. Wenn Sie denselben Algorithmus bei derselben Eingabe erneut versuchen, hilft dies nichts (es sei denn, der Algorithmus ist möglicherweise auch randomisiert).