Rozděl a panuj (algoritmus)

Metoda rozděl a panuj (latinsky Divide et Impera) označuje ty algoritmy pro práci s daty, které řeší problém rozdělením řešené úlohy na dílčí části (podproblémy), nad kterými se provádí algoritmická operace. Často se tato metoda implementuje rekurzivně nebo iterativně a původní úloha se dělí na stále menší části, až v některé úrovni dosáhne problému konstantní velikosti, který lze triviálně vyřešit (např. u algoritmu řazení slučováním - posloupnost délky jedna je vždy seřazená). Důležitým předpokladem této metody je, aby dílčí podproblémy byly v rámci jedné úrovně jeden na druhém nezávislé (pokud jsou závislé, je většinou možné použít metodu zvanou dynamické programování).

Také se hodí a používá pro cache-oblivious algoritmus. Po postupném dělení se úloha na základní úrovni vejde do keše a následně vyřeší rychle.

Typickými představiteli metody rozděl a panuj jsou algoritmy třídění rychlé řazení, řazení slučováním, výpočet rychlé Fourierovy transformace nebo binární vyhledávání.

Související články

  • Master theorem

Externí odkazy

  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu rozděl a panuj na Wikimedia Commons
Pahýl
Pahýl
Tento článek je příliš stručný nebo postrádá důležité informace.
Pomozte Wikipedii tím, že jej vhodně rozšíříte. Nevkládejte však bez oprávnění cizí texty.
Autoritní data Editovat na Wikidatech
  • GND: 4291466-8