Documente Academic
Documente Profesional
Documente Cultură
VII. Sortarea
1. Generalitati
2. Sortarea prin numararea comparatiilor
3. Sortarea prin insertie
4. Sortarea prin interschimbare
5. Sortarea prin interclasare
Sortarea interna:
pentru i de la 1 la n
p(i) = 1
pentru i de la 2 la n /* O(n2/2) */
pentru j de la 1 la i – 1 /* i – 1 comparatii */
daca x(i) ≤ x(j)
atunci p(j) = p(j) + 1
altfel p(i) = p(i) + 1
pentru i de la 1 la n ` /* O(n) */
y(p(i)) = x(i)
2. Sortarea prin numararea comparatiilor
Sortarea externa (x, p - memorate extern, in fisiere cu acces direct):
pentru i de la 1 la n
scrie(pi, 1)
pentru i de la 2 la n
citeste(xi, y)
pentru j de la 1 la i – 1
citeste(xj, z)
daca y ≤ z
atunci citeste(pj, q), scrie(pj, q + 1)
altfel citeste(pi, q), scrie(pi, q + 1)
pentru i de la 1 la n `
citeste(pi, q), citeste(xi, z), scrie(yq, z)
O(3n2/2 )
3. Sortarea prin insertie
Sortare prin insertie directa
pentru i de la 2 la n
a = xi, k = i – 1
cat timp k > 0 si xk > a
xk+1 = xk, k = k – 1
xk+1 = a
Daca x uniform distribuit => nr mediu de comparatii = ((n – 1) + n(n – 1)/2)/2 =>
complexitate de comparare O(n2/4)
sortinterclasare(v, 1, n)