|
CORFU ANDA
clasa a-x a E
METODA DIVIDE ET IMPERA
TABLA DE MATERII
NOTIUNI INTRODUCTIVE APLICATII DIVIDE ET IMPERA:
("Turnurilor din Hanoi";
( Sortare rapida ;
( Sortare prin interclasare;
( Sortare prin insertie binara;
CONCLUZII
BIBLIOGRAFIE
NOTIUNI INTRODUCTIVE
Metoda de programare DIVIDE ET IMPERA consta in
impartirea problemei initiale de dimensiuni [n] in doua sau mai multe
probleme de dimensiuni reduse .In general se executa impartirea in
doua subprobleme de dimensiuni aproximativ egale si anume [n/2] .
Impartirea in subprobleme are loc pana cand dimensiunea acestora
devine suficient de mica pentru a fi rezolvate in mod direct(cazul de
baza).Dupa rezolvarea celor doua subprobleme se executa faza de
combinare a rezultatelor in vederea rezolvarii intregii probleme .
Metoda DIVIDE ET IMPERA se poate aplica in rezolvarea unei
probleme care indeplineste urmatoarele conditii :
(se poate descompune in ( doua sau mai multe) suprobleme ;
(aceste suprobleme sunt independente una fata de alta (o
subproblema nu se rezolva pe baza alteia si nu se foloseste rezultate
celeilalte);
(aceste subprobleme sunt similare cu problema initiala;
( la randul lor subproblemele se pot descompune (daca este
necesar) in alte subprobleme mai simple;
(aceste subprobleme simple se pot solutiona imediat prin
algoritmul simplificat.
Deoarece putine probleme indeplinesc conditiile de mai sus
,aplicarea metodei este destul de rara.
Dupa cum sugereaza si numele "desparte si stapaneste
"etapele rezolvarii unei probleme (numita problema initiala) in
DIVIDE ET IMPERA sunt :
- descompunerea problemei initiale in subprobleme
independente ,smilare problemei de baza ,de dimensiuni mai mici ;
(descompunerea treptata a subproblemelor in alte subprobleme
din ce in ce mai simple ,pana cand se pot rezolva imediata ,prin
algoritmul simplificat ;
(rezolvarea subproblemelor simple ;
(combinarea solutiilor gasite pentru construirea solutiilor
subproblemelor de dimensiuni din ce in ce mai mari ;
( combinarea ultimelor solutii determina obtinerea solutiei
problemei initiale .
Metoda DIVIDE ET IMPERA admite o implementare recursiva
,deorece subproblemele sunt similare problemei initiale, dar de
dimensiuni mai mici .
Principiul fundamental al recursivitatii este autoapelarea
unui subprogram cand acesta este activ;ceea ce se intampla la un nivel
,se intampla la orice nivel ,avand grija sa asiguram conditia de
terminare ale apelurilor repetate .Aseman |