Sunteți pe pagina 1din 3

Sortarea prin interclasare.

Algoritmul de sortare prin interclasare se bazeaz pe


urmtoarea idee: pentru a sorta un vector cu n elemente
l mprim n doi vectori care, odat sortai, se
interclaseaz.
Conform strategiei Divide et Impera, problema este
descompus n alte dou subprobleme de acelasi tip si,
dup rezolvarea lor, rezultatele se combin (n particular
se interclaseaz). Descompunerea unui vector n ali doi
vectori care urmeaz a fi sortai are loc pn cnd avem
de sortat vectori de una sau dou componente.

38 27 43 3

82 9

38 27 43 3

10

82 9

10

38 27

43 3

82 9

10

27 38

82

10

10 82

43

27 38 43

Algoritm descris n pseudocod:


Sort(p,q,A);
dac A[p]>A[q] atunci
interschimba A[p]A[q]
sfSort
Interc(p,q,m,A)
ip;jm+1;k0;
ct timp i<=m si j<=q execut
dac A[i]<A[j] atunci
kk+1;B[k] A[i];ii+1
altfel
kk+1;B[k] A[j];jj+1;
sfdac
sfct timp

ct timp i<=m execut


kk+1 B[k] A[i] ii+1
sfct timp
ct timp j<=q execut
kk+1 B[k] A[j];jj+1
sfct timp
pentru ip,q execut
A[i] B[i]
sfpentru
sfinterc
Divimp(p,q,A)
dac q-p<=1 atunci Sort(p,q,A)
altfelDivimp(p,m,A)Divimp(m+1,q,A)
Interc(p,q,m,A)
sfdac
sfDivimp