From Wikipedia, the free encyclopedia
Analýza algoritmů je v matematické informatice určení rozsahu výpočetních prostředků potřebných k vykonání algoritmu. Jako primární kritéria náročnosti algoritmu se volí doba běhu a použitý paměťový prostor. Většina algoritmů je navržena tak, že mohou přijímat vstup o libovolné délce. Nákladnost (složitost) algoritmu je obvykle vyjádřena jako matematická funkce, která na základě délky vstupu určí časovou a paměťovou složitost výpočtu.
Obvykle se pojem „analýza algoritmů“ používá pro teoretickou analýzu chování algoritmu v závislosti na velikosti dat, viz asymptotická složitost. Jiná činnost je měření charakteristik konkrétního procesu, např. při profilování.
Analýza algoritmů je důležitá součást obecnější teorie složitosti, která poskytuje teoretické odhady potřebných zdrojů pro provedení jakéhokoli algoritmu, který řeší určitý výpočetní problém. Tyto odhady mohou poskytnout užitečná vodítka pro hledání efektivních algoritmů. Jestliže chceme algoritmy analyzovat, potřebujeme jazyk pro popis algoritmů (zdrojový kód nebo pseudokód) a výpočetní model. Výsledkem analýzy je obvykle funkce, která poskytuje odhad doby, po kterou se bude daný algoritmus vykonávat. Jejím parametrem (n) je velikost vstupních dat.
Doba běhu algoritmu v praxi závisí na mnoha faktorech. Je zřejmé, že výkonnější počítač při stejném vstupu provede daný algoritmus rychleji. Další úskalí spočívá v tom, jak se vlastně tento čas měří. Při opakování měření se může stát, že získáme rozdílné údaje doby běhu i pro zcela stejné vstupní hodnoty. Zvláště výrazný bývá tento rozdíl u malých časů. Výsledné hodnoty se proto počítají jako aritmetický průměr z několika měření. Praktické experimenty mají tato hlavní omezení:
Analýza algoritmů je v praktické informatice velmi důležitá, protože použití neefektivního algoritmu může významně ovlivnit výkon a stabilitu systému. Například u aplikací, u kterých je důležitá rychlost, může dlouhé čekání na výsledek způsobit, že získaná data budou již zastaralá a zbytečná. Tento problém byl aktuální především v dobách, kdy počítače dosahovaly velmi omezených výkonů a strojový čas byl velmi drahý.
V tomto článku byl použit překlad textu z článku Analysis of algorithms na anglické Wikipedii.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.