You are on page 1of 8

SORTIRANJE

SELECTION SORT
Traženje najmanjeg broja u skupu te stavljanje toga broja na najmanji indeks (0)

[ 9 , 7 , 1 , 45 , -5 ] [ -5 , 1 , 7 , 9 , 45 ]

Koraci: učitani skup brojeva pregledamo i najmanji broj stavljamo na prvo mjesto
učitani skup brojeva pregledavamo i drugi najmanji broj stavljamo na drugo mjesto
…..
učitani skup brojeva pregledavamo i n-ti najmanji broj stavljamo na n-to mjesto
SELECTION SORT
[ 7, 4, 5, 9, 8, 2, 1 ]
Prvi korak:
Najmanji broj zamijenimo sa brojem pod indeksom 0

Drugi korak:
Gledamo cijeli skup osim već sortiranoga broja
Drugi najmanji broj zamjenjujemo sa brojem pod indeksom 1

Treći korak:
Gledamo cijeli skup osim već prva 2 sortirana broja
Treći najmanji broj zamjenjujemo sa brojem pod indeksom 2
…..

Zadnji korak:
Gledamo samo 2 zadnja broja
Najmanji preostali broj zamjenjujemo sa brojem pod
predzadnjim indeksom
EXCHANGE SORT
Skup vrijednosti sortiramo tako da odabranu vrijednost uspoređujemo sa svim
ostalim vrijednostima dok ne pronađemo veću odnosno manju vrijednost ovisno o
kako želimo sortirati.

Exchange sort se radi koristeći dvije petlje


Prva petlja odabire vrijednost dok druga petlja tu vrijednost uspoređuje sa svim
ostalim vrijednostima skupa.
EXCHANGE SORT
Općeniti algoritam: Primjer prva 2 koraka
[ 2 , 3 ,5 , 1, 7 , 10 ]
For (i=0; i<n; i++) {
Prvi broj ( 2 ) i=0
for (j=i+1; j<=n; j++ ) { Uspoređujemo sa svim ostalim brojevima dok ne nađemo
vrijednost manju od njega ( 1 ) i onda ih zamijenimo.
if (A[j] < A[i]) Nastavimo uspoređivati (1) sa svim preostalim
vrijednostima dok ne dođemo do kraja liste.
swap A[i] and A[j]
i=2
} Broj 3 uspoređujemo sa svim brojevima u listi dok ne
dođemo do manje vrijednosti te ih zamijenimo i nastavimo
} uspoređivati novu vrijednost sa preostalim brojevima liste.
EXCHANGE SORT PRIMJER 1.
KORAKA
SHELL SORT
Shell sort sortira listu tako da odabrane vrijednosti uspoređuje sa vrijednostima koje
su za neki razmak udaljene od te vrijednosti te ih zamijeni ako ispune uvjet te nakon
svake vrtnje se razmak smanjuje na pola i vrijednosti se uspoređuju i zamjenjuju.

N je količina vrijednosti u listi.


Npr. Vrijednost na indeksu 0 uspoređujemo sa vrijednosti na indeksu 4
( n= 8, n/2=4 ) , a vrijednost na indeksu 1 uspoređujemo sa vrijednosti na indeksu 5.
Drugu vrtnju petlje pokrećemo tako vrijednost pod indeksom 0 uspoređujemo sa
vrijednostima na indeksu 2 ( n=8, n/4=2) itd.
Petlja se pokreće dok razmak nije postao 1 i cijela lista je sortirana za razmak=1.
USPOREDBA
Exchange sort uzima prvi broj te uspoređuje ga sa ostalim dok ne nađe njemu manji
odnosno veći te taj novi broj uspoređuje sa ostatkom liste.
Shell sort uspoređuje vrijednosti koje su za određeni razmak udaljene te svakom vrtnjom
petlje taj razmak smanjuje.

Dok selection sort pronalazi najmanji broj u cijeloj listu i stavlja ga na prvo mjesto njegova
jednostavnost ga čini i nepraktičnim na listama sa više vrijednosti jer uvijek mora proći
cijelu listu za razliku od exchange sort i shell sort.

Dok je selection sort jednostavniji od ostala 2 zaostaje iza njih kada je pitanje o većim
kompleksnijim listama.

You might also like