Deli in vladaj je algoritemski vzorec. Pri algoritemskih metodah je zasnova vzeti spor o velikem vnosu, razdeliti vhod na manjše dele, odločiti o problemu na vsakem od majhnih kosov in nato združiti rešitve po kosih v globalno rešitev. Ta mehanizem reševanja problema se imenuje strategija deli in vladaj.
Algoritem razdeli in vladaj je sestavljen iz spora v naslednjih treh korakih.
Na splošno lahko sledimo deli in vladaj pristop v treh korakih.
Primeri: Posebni računalniški algoritmi temeljijo na pristopu razdeli in vladaj:
- Največji in najmanjši problem
- Binarno iskanje
- Razvrščanje (spojno razvrščanje, hitro razvrščanje)
- Hanojski stolp.
Osnove strategije deli in vladaj:
Obstajata dva temelja strategije razdeli in vladaj:
- Relacijska formula
- Stanje ustavitve
1. Relacijska formula: To je formula, ki jo ustvarimo iz dane tehnike. Po generiranju formule uporabimo strategijo D&C, tj. rekurzivno razčlenimo problem in rešimo zlomljene podprobleme.
2. Pogoj zaustavitve: Ko rešimo težavo s strategijo razdeli in vladaj, potem moramo vedeti, koliko časa moramo uporabljati razdeli in vladaj. Torej se stanje, ko je treba ustaviti naše rekurzivne korake D&C, imenuje pogoj zaustavitve.
Uporaba pristopa deli in vladaj:
Naslednji algoritmi temeljijo na konceptu tehnike deli in vladaj:
Prednosti razdeli in vladaj
- Deli in vladaj teži k uspešnemu reševanju enega največjih problemov, kot je Hanojski stolp, matematična uganka. Zahtevno je reševati zapletene probleme, za katere nimate osnovnega pojma, vendar je s pomočjo pristopa deli in vladaj zmanjšal napor, saj deluje tako, da glavni problem razdeli na dve polovici in ju nato rekurzivno rešuje. Ta algoritem je veliko hitrejši od drugih algoritmov.
- Učinkovito uporablja predpomnilnik, ne da bi zasedel veliko prostora, ker rešuje preproste podprobleme znotraj predpomnilnika, namesto da bi dostopal do počasnejšega glavnega pomnilnika.
- Je bolj spretna od svoje nasprotne tehnike Brute Force.
- Ker ti algoritmi zavirajo paralelizem, ne vključuje nobenih sprememb in ga obravnavajo sistemi, ki vključujejo vzporedno procesiranje.
Slabosti razdeli in vladaj
- Ker je večina njegovih algoritmov zasnovanih z vključevanjem rekurzije, je potrebno visoko upravljanje pomnilnika.
- Eksplicitni sklad lahko preveč porabi prostor.
- Lahko se celo zruši sistem, če je rekurzija izvedena rigorozno večja od sklada, ki je prisoten v CPE.