Programlamada kullanılan, bir sorunu çözmek için bir algoritmanın karmaşıklığını, potansiyel etkinliğinin ve son kullanıcı için anlama kolaylığının bir analizini kullanarak değerlendirmenize olanak tanıyan istatistiksel bir yöntemdir. Yöntem, yazar James MacMillan Conway tarafından 20. yüzyılın ortalarında geliştirildi. Conway iki önemli sonucu kanıtladı: birincisi, bazı problem sınıfları için birden fazla hesaplama karmaşıklığı modelinin mevcut olduğu, böylece belirli bir problem için bir alt sınıfın başka hangi sınıfa eşlenebileceği açık olmayabilir; ikinci olarak, çıktıdaki herhangi bir öğeyi istenen öğe dahil edilene kadar seçmek için gereken yineleme sayısını ölçerek algoritmaların hesaplama karmaşıklıklarına göre nasıl sınıflandırılacağını gösterdi. Kısacası algoritma, doğru cevabı tahmin etme umuduyla seçenekleri kaç kez denemesi gerektiğine göre derecelendirilir. Bununla birlikte, bir algoritmanın karmaşıklığını tahmin etmeye yönelik bu yöntemle, beklenen puanın maksimumdan çok daha düşük olduğu bir durum olabileceğinden, algoritmanın puanının hesaplanan maksimum değer mi yoksa beklenen/ortalama değer mi olduğu sorusu ortaya çıkar. hesaplandı. Bu sorun, algoritmanın karmaşıklığının, yani beklenen çalışma süresine ilişkin bir üst sınır sağlayan büyüme karmaşıklığının değiştirilmiş bir tahmininde kısmen çözülmüştür.