Podijeli pa vladaj je algoritamski obrazac. U algoritamskim metodama, dizajn je uzeti spor na velikom ulazu, razbiti ulaz na manje dijelove, odlučiti o problemu na svakom od malih dijelova, a zatim spojiti rješenja po dijelovima u globalno rješenje. Ovaj mehanizam rješavanja problema naziva se strategija zavadi i vladaj.
Algoritam Podijeli pa vladaj sastoji se od spora koji koristi sljedeća tri koraka.
Općenito, možemo pratiti zavadi-pa-vladaj pristup u procesu od tri koraka.
Primjeri: Specifični računalni algoritmi temelje se na pristupu Podijeli i vladaj:
- Maksimalni i minimalni problem
- Binarno pretraživanje
- Sortiranje (sortiranje spajanjem, brzo sortiranje)
- Hanojski toranj.
Osnove strategije Podijeli i vladaj:
Dva su temelja strategije Podijeli i vladaj:
- Relacijska formula
- Stanje zaustavljanja
1. Relacijska formula: To je formula koju generiramo iz dane tehnike. Nakon generiranja formule primjenjujemo D&C strategiju, tj. rekurzivno rastavljamo problem i rješavamo pokvarene podprobleme.
2. Uvjet zaustavljanja: Kada rješavamo problem korištenjem strategije Podijeli i vladaj, tada moramo znati koliko vremena trebamo primjenjivati Zavadi i vladaj. Dakle, uvjet u kojem je potrebno zaustaviti naše korake rekurzije D&C-a naziva se Uvjet zaustavljanja.
Primjene pristupa Podijeli pa vladaj:
Sljedeći algoritmi temelje se na konceptu tehnike Podijeli pa vladaj:
Prednosti Podijeli pa vladaj
- Podijeli pa vladaj teži uspješnom rješavanju jednog od najvećih problema, kao što je toranj u Hanoju, matematička zagonetka. Izazovno je rješavati komplicirane probleme za koje nemate osnovnu ideju, ali uz pomoć pristupa podijeli pa vladaj, smanjio je napor jer radi na dijeljenju glavnog problema na dvije polovice i zatim ih rješava rekurzivno. Ovaj algoritam je puno brži od ostalih algoritama.
- Učinkovito koristi predmemoriju bez zauzimanja puno prostora jer rješava jednostavne podprobleme unutar predmemorije umjesto pristupa sporijoj glavnoj memoriji.
- Vještija je od svoje slične tehnike Brute Force.
- Budući da ovi algoritmi sprječavaju paralelizam, on ne uključuje nikakve izmjene i njime upravljaju sustavi koji uključuju paralelnu obradu.
Nedostaci Zavadi pa vladaj
- Budući da je većina njegovih algoritama dizajnirana uključivanjem rekurzije, potrebno je visoko upravljanje memorijom.
- Eksplicitni stog može pretjerano koristiti prostor.
- Može čak i srušiti sustav ako se rekurzija izvodi rigorozno više od stoga prisutnog u CPU-u.