Divide et impera

Trimis la data: 2003-02-10 Materia: Informatica Nivel: Liceu Pagini: 7 Nota: / 10 Downloads: 11
Autor: Dorian_flore Dimensiune: 9kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui referat: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
Divide et impera este o tehnica speciala prin care se pot rezolva anumite probleme. Divide et impera se bazeaza pe un principiu extrem de simplu: descompunem problema in doua sau mai multe subprobleme (mai usoare),care se rezolva, iar solutia pentru problema initiala se obtine combinand solutiile problemelor in care a fost descompusa.

Se presupune ca fiecare din probleme in care a fost descompusa problema initiala, se poate descompune in alte subprobleme, la fel cum a fost descompusa problema initiala. Procedeul se reia pana cand (in urma descompunerilor repetate) se ajunge la probleme care admit rezolvare imediata.

Evident nu toate problemele pot fi rezolvate prin utilizarea acestei tehnici. Fara teama de a gresi, putem afirma ca numarul lor este relativ mic, tocmai datorita cerintei ca problema sa admita o descompunere repetata.

Divide et impera este o tehnica ce admite o implementare recursiva. Am invatat principiul general prin care se elaboreaza algoritmi recursivi: ce se intampla la un nivel, se intampla la un nivel, se intampla la orice nivel (avand grija sa asiguram conditiile de terminare). Tot asa, se elaboreaza un algoritm prin divide et imoera: la un anumit nivel avem doua posibilitati:

1) am ajuns la o problema care admite o rezolvare imediata, caz in care se rezolva si se revine din apel(conditia de terminare);

2) nu am ajuns in situatia de la punctul 1, caz in care sdescompunem problema in doua sau mai multe subprobleme, pentru fiecare din ele reapelam functia, combinam rezultatele si revnim din apel.

2. Aplicatii
1) Maximul dintr-un vector
Se citeste un vector cu n componente, numere naturale. Se cere sa se tipareasca valoare maxima.

Trebuie tiparita valoarea maxima dintre numerele retinute in vector de la i la j(initial i= 1, j=n). Pentru aceasta procedam astfel :
- daca i=j, valoare maxima va fi v[i] ;
- contrar vom imparti vectorul in doi vectori (primul vector va contine componentele de la i la (i+j) div 2, al doilea va contine componentele de la ((i+j) div 2 +1 la j ) , rezolvam subproblemele (aflam maximul pentru fiecare din ele) iar solutia problemei va fi data de valoarea maxima dintre rezultatele celor doua subprobleme.

2) Cautare binarã

Se citeste un vector cu n componente numere intregi, unde nemerele se presupun ordonate crescator si o valoare intreaga (nr). Sa se decida daca nr se gaseste sau nu printre numerele citite, iar in caz afirmativ sa se tipareasca indicele componentei care contine acea valoare .
O rezolvare în care nr se comparã pe rând cu cele n valori, este lipsitã de valoare (nu exploateazã faptul cã cele n valori sunt în secventã crescãtoare). Algoritmul care va fi propus este mult mai performant si face parte, asa cum am învãtat, dintre algoritmii clasici.
Problema este de a decide dacã valoarea cãutatã se gãseste printre numerele de indice cuprins între i si j (intial i=1, j=n ). Pentru aceasta vom proceda astfel:

- dacã nr coincide cu vloarea de indice (i+j)/2 ( valoarea de la mijloc ) , se tipãeste indicele si se revine din apel (problema a fost rezolvatã).

  • pag. 1
  • pag. 2
  • pag. 3
  • pag. 4
  • pag. 5
  • pag. 6
  • pag. 7

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Filmele zilei
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10 Bacalaureat 2019 Vezi subiectele examenului de Bacalaureat din 2019 Evaluare Nationala 2019 Ultimele informatii despre evaluare nationala
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.
Confidentialitatea ta este importanta pentru noi

Referat.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat politica de confidentialitate pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Am inteles