| Metoda "Dziel i zwyciężaj" |
|
Metoda "Dziel i zwyciężaj" (divide and conquer) polega na podzieleniu problemu na mniejsze problemy (podproblemy - które na ogół są tym samym problemem, lecz o mniejszych rozmiarach), które następnie rozwiązuje się niezależnie, by w końcowym etapie scalić rezultaty i rozwiązać główny problem. Ideę tej metody można zaprezentować na przykładzie algorytmu wyszukiwania w zbiorze lub porządkowania zbioru. W każdym kroku zbiór jest dzielony na dwie części, elementy tych części są porządkowane. Na koniec uporządkowane części są łączone w uporządkowaną całość (np. sortowanie przez scalanie). Według tej zasady są kreowane algorytmy rekurencyjne. Przykład obrazuje wyszukanie najmniejszej i największej liczby w tablicy "tab" (dane zostają wylosowane), która zostaje wstępnie przez porównanie sąsiednich danych podzielona na 2 mniejsze tablice "tabm" i "tabw", z elementami odpowiednio mniejszymi i większymi, z których z pierwszej wybrany jest najmniejszy element w całym zbiorze, a z drugiej największy. program metoda_dziel_i_zwyciezaj; |
;


