Is een statistische methode die bij het programmeren wordt gebruikt en waarmee u de complexiteit van een algoritme voor het oplossen van een probleem kunt evalueren, met behulp van een analyse van de potentiële effectiviteit en het gemak van begrip voor de eindgebruiker. De methode werd halverwege de 20e eeuw ontwikkeld door de auteur, James MacMillan Conway. Conway bewees twee belangrijke resultaten: ten eerste dat er voor sommige klassen van problemen meerdere modellen van computationele complexiteit bestaan, zodat het voor een bepaald probleem misschien niet duidelijk is aan welke andere klasse een subklasse kan worden toegewezen; ten tweede liet hij zien hoe algoritmen kunnen worden geclassificeerd op basis van hun rekencomplexiteit door het aantal iteraties te meten dat nodig is om een element in de uitvoer te selecteren totdat het gewenste element is opgenomen. Kortom, het algoritme wordt beoordeeld op basis van het aantal keren dat het de opties moet proberen in de hoop het juiste antwoord te raden om het te krijgen. Bij deze methode om de complexiteit van een algoritme te schatten, rijst echter de vraag of de score van het algoritme de berekende maximale waarde is of de verwachte/gemiddelde waarde, aangezien er een geval kan zijn waarin de verwachte score veel lager is dan de maximale score. berekend. Dit probleem is gedeeltelijk opgelost in een aangepaste schatting van de complexiteit van het algoritme, de groeicomplexiteit, die een bovengrens biedt voor de verwachte looptijd.