Le temps d'exécution prévu d'un algorithme randomisé est un concept bien défini, tout comme le pire temps d'exécution. Si un algorithme est randomisé, son temps d'exécution est également aléatoire, ce qui signifie que nous pouvons définir la valeur attendue de son temps d'exécution.
Un exemple bien connu est Quicksort: si nous choisissons les pivots au hasard, nous pouvons prouver que son temps d'exécution prévu devient O (n log n), même si son pire temps d'exécution reste O (n ^ 2). Un exemple où la randomisation est très puissante est le plus petit problème de cercle englobant: il existe un algorithme simple dont le pire temps de fonctionnement est O (n ^ 3), mais en attendant, son temps de fonctionnement n'est que O (n).
Le temps de fonctionnement moyen est généralement utilisé pour parler du comportement d'un algorithme «pour la plupart des entrées». Nous définissons un moyen de générer aléatoirement une entrée, par exemple, nous remplissons un tableau avec des nombres aléatoires, ou nous permutons au hasard les nombres de 1 à n (donc pas de doublons), ou nous retournons une pièce et obtenons soit un ensemble décroissant ou croissant de Nombres. Le temps d'exécution moyen d'un algorithme pour cette distribution aléatoire d'entrées est alors le temps d'exécution attendu de l'algorithme (auquel cas l'algorithme peut ne pas être randomisé, mais l'entrée l'est).
À titre d'exemple: il existe des problèmes géométriques pour lesquels il existe des algorithmes qui semblent bien fonctionner à première vue, jusqu'à ce que vous découvriez une façon très étrange de distribuer, disons, les lignes d'entrée. Si vous supposez que les lignes sont distribuées de manière aléatoire, alors il se peut que ces scénarios étranges se produisent extrêmement peu, donc votre algorithme finit par être bon.
Contraste: le temps d'exécution prévu concerne la façon dont un algorithme fonctionne `` à moins que vous n'ayez pas de chance '' - réessayer le même algorithme sur la même entrée mais avec des choix aléatoires différents peut entraîner sa résolution beaucoup plus rapide. Le temps d'exécution moyen parle de la performance d'un algorithme «pour la plupart des entrées» - réessayer le même algorithme sur la même entrée ne vous aidera pas (sauf peut-être si l'algorithme est également randomisé).