290 likes | 732 Views
Sortarea prin interclasare. Aceasta metoda de ordonare are la baza interclasarea a doi vectori : fiind dati doi vectori ordonati se obtine un al treilea vector ordonat care va contine elementele din cei doi vectori.
E N D
Aceasta metoda de ordonare are la baza interclasarea a doi vectori: fiind dati doi vectori ordonati se obtine un al treilea vector ordonat care va contine elementele din cei doi vectori. În cazul sortarii prin interclasare, vectorii care se interclaseaza sunt doua secvente ordonate din acelasi vector.
Sortarea prin interclasare utilizeaza metoda Divide et Impera: • se imparte vectorul in secvente din ce in ce mai mici, astfel incat fiecare secventa sa fie ordonata la un moment dat si interclasata cu o alta secventa din vector corespunzatoare. • practic interclasarea va incepe cand se ajunge la o secventa formata din doua elemente sortate. Aceasta odata ordonata, se va interclasa cu o alta corespunzatoare. Cele doua secvente vor alcătui un subsir ordonat din vector mai mare care la rândul lui se va interclasa cu subsirul corespunzator s.a.m.d.
Fie vectorul: la care n=8. Se imparte in doua secvente (1+n)/2=(1+8)/2=4,5 şi se ia mijlocul ca fiind 4:
In continuare pentru prima secvenţă se procedează la fel. Se împarte vectorul ce are 4 elemente în doi vectori de câte 2 elemente: După o nouă împărţire se obţine: Fiindcă este o secvenţă de două elemente (q-p<=1), elementele din acest vector de două elemente se sortează: Rezulta:
La fel si pentru secventa : Se considera ca avem un vector cu două elemente care se sortează între ele: Rezultă:
Cele doua secvente determina obtinerea urmatorului subsir din vector. Cele două secvenţe de câte doi vectori se interclasează. Rezulta: adică un subşir sortat.
La fel se procedeaza si cu secventa: Se obtine: Care se interclaseaza si se obtine: La fel pentru: Se obtine: Se obtine o noua secventa:
Cele doua secvente initiale din vector au devenit: Care se interclaseaza obtinand: