-Algoritmi-
Osnovni algoritmi sortiranja koje cemo obraditi u ovoj prezentaciji su:
Primer: sortiramo niz 3 1 4 2 koristeci insertion sort
3 | 1 4 2
1 3 | 4 2
1 3 4 | 2
1 2 3 4 |
Primer: sortiramo niz 3 1 4 2 koristeci slection sort
1 | 3 4 2
1 2 | 3 4
1 2 3 | 4
1 2 3 4 |
Primer: sortiramo niz 3 1 4 2 koristeci bubble sort
3 1 4 2; 1-3 4 2; 1 3 2-4
1 3 2 4; 1 2-3 4
Podrazumeva se da su kljucevi po kojima se podaci sortiraju celi brojevi iz intervala od 1
do K
.
Ideja counting sort-a: Odrediti broj elemenata manjih od nekog elementa. Koristeci ovu informaciju mozemo odrediti poziciju elementa u nizu.
Sta da radimo kada niz sadrzi elemente sa istim kjucem ?
C[x] =
broj elementa u nizu sa kljucem x
, x = 1..K
C[2] += C[1]; C[3] += C[2]; ... C[K] += C[K-1];
x
je C[x]
, problem vise istih kjuceva resavamo tako sto radimo C[x]--
posto smestimo element na njegovo mesto.Primer: sortiramo niz 3 2 1 3 2 koristeci countig sort
C[1] = 1
,C[2] = 2
,C[3] = 2
C[1] = 1
,C[2] = 3
,C[3] = 5
_ _ _ _ 3 C[3] = 4 _ _ 2 _ 3 C[2] = 2 1 _ 2 _ 3 C[1] = 0 1 _ 2 3 3 C[3] = 3 1 2 2 3 3 C[2] = 1
Koristi si se kada su kjucevi k-tocifreni celi brojevi
Primer: sortiramo niz 213 191 222 214 koristeci radix sort
191 222 213 214
213 214 222 191
191 213 214 222