Conwayova metoda

Je statistická metoda používaná v programování, která umožňuje vyhodnotit složitost algoritmu pro řešení problému pomocí analýzy jeho potenciální účinnosti a snadnosti pochopení pro koncového uživatele. Metodu vyvinul autor již v polovině 20. století James MacMillan Conway. Conway dokázal dva důležité výsledky: za prvé, že pro některé třídy problémů existuje více modelů výpočetní složitosti, takže pro daný problém nemusí být zřejmé, na kterou jinou třídu lze podtřídu mapovat; za druhé, ukázal, jak klasifikovat algoritmy podle jejich výpočetní složitosti měřením počtu iterací, které je potřeba k výběru libovolného prvku ve výstupu, dokud není zahrnut požadovaný. Stručně řečeno, algoritmus je hodnocen podle toho, kolikrát musí vyzkoušet možnosti v naději, že uhodne správnou odpověď, aby ji získal. U této metody odhadu složitosti algoritmu však vyvstává otázka, zda skóre algoritmu je maximální vypočítaná hodnota, nebo je to očekávaná/průměrná hodnota, protože může nastat případ, kdy je očekávané skóre mnohem nižší než maximální vypočítané. Tento problém byl částečně vyřešen v upraveném odhadu složitosti algoritmu, složitosti růstu, který poskytuje horní hranici očekávané doby běhu.