Často známe pro jeden problém celou řadu řešení. Jak poznat, které řešení je v praxi lepší? Ano, nezbývá než to naprogramovat, spustit, a porovnat výsledky.

Líbilo by se mi, když někdo udělal univerzální systém na porovnávání algoritmů. Systém by obsahoval sadu problémů, které se dají řešit. Například nejkratší cesta v grafu, minimální kostra, maximální tok v síti. Každý problém by vyžadoval určitý formát vstupu a výstupu. Každý student by si mohl naprogramovat své řešení, poslat ho do systému a porovnat ho s ostatními programy. V systému by se pak dalo snadno dohledat nejrychlejší řešení daného problému.

Systém by pomocí grafu zobrazoval časovou složitost algoritmů na vstupech různé velikosti. Umožňoval by srovnávat různé metody (například Dijkstrův a Floyd-Warshallův algoritmus, nebo různé algoritmy pro toky v sítích). Také by se dali porovnávat různé implementace, různé programovací jazyky.

Studenti by tak získali lepší povědomí o tom, jak je která metoda či algoritmus dobrý. Ba co víc, také by poznali rozdíly mezi implementacemi v různých programovacích jazycích — ve kterém programovacím jazyce bude zdrojový kód nejkratší? Ve kterém programovacím jazyce poběží program nejrychleji? Díky zobrazování zdrojových kódů by i věděli, jak je pracné daný algoritmus naprogramovat. Studium ukázkových zdrojových kódů by pro ně bylo vzorem toho, jak se může programovat.