Algoritmická analýza je oblast informatiky, která se věnuje porozumění složitosti algoritmů. Algoritmy jsou obecně definovány jako procesy, které provádějí řadu operací až do konce. Algoritmy lze vyjádřit mnoha způsoby, v vývojových diagramech, přirozeném jazyce a v programovacích jazycích. Algoritmy se používají v matematice, výpočetní technice a lingvistice, ale nejčastěji se používají v počítačích k provádění výpočtů nebo zpracování dat. Algoritmická analýza se zabývá algoritmy psanými v počítačových programovacích jazycích, které jsou založeny na matematickém formalismu
Algoritmus je v podstatě soubor instrukcí pro počítač k provedení výpočtu určitým způsobem. Například počítač použije algoritmus pro výpočet výplaty zaměstnance. Aby mohl počítač provádět výpočty, potřebuje do systému vložit příslušná data, jako je mzdová sazba zaměstnance a počet odpracovaných hodin.
K provedení stejné operace může pracovat více než jeden algoritmus, ale některé algoritmy používají více paměti a provedení trvá déle než jiné. Jak také víme, jak dobře algoritmy fungují obecně, vzhledem k rozdílům mezi počítači a vstupy dat? Zde přichází analýza algoritmů.
Jedním ze způsobů, jak otestovat algoritmus, je spustit počítačový program a zjistit, jak funguje. Problém s tímto přístupem je v tom, že nám pouze říká, jak dobře algoritmus pracuje s konkrétním počítačem a sadou vstupů. Účelem analýzy algoritmů je otestovat a poté vyvodit závěry o tom, jak dobře daný algoritmus funguje obecně. To by bylo velmi obtížné a časově náročné na jednotlivých počítačích, takže vědci vymýšlejí modely fungování počítačů k testování algoritmů.
Obecně je analýza algoritmů nejvíc zaměřena na zjištění, kolik času trvá spuštění programu a kolik místa v paměti potřebuje k provedení programu. Zejména počítačoví odborníci pomocí algoritmu analýzy určit, jak data přičteno do programu má vliv na jeho celkovou dobu běhu, kolik místa v paměti počítačové potřeby programových dat, kolik místa kódu programu tak trvá na osobním počítači, zda algoritmus vytváří správné výpočty, jak složitý je program a jak dobře se vypořádá s neočekávanými výsledky.


