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

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.