Professional Documents
Culture Documents
Sortiranje
Sortiranje
Sortiranje
U slučaju daljnjeg korištenja ili distribuiranja morate drugima jasno dati do znanja licencne uvjete ovog
djela. Najbolji način da to učinite je linkom na ovu internetsku stranicu.
Od svakog od gornjih uvjeta moguće je odstupiti, ako dobijete dopuštenje nositelja autorskog prava.
Ništa u ovoj licenci ne narušava ili ograničava autorova moralna prava.
Tekst licencije preuzet je s http://creativecommons.org/.
07.04.2024
3 / 36
Algoritmi
Sortovi
http://www.solidware.com/sort/
Algoritmi i strukture podataka, FER 07.04.2024 4 / 36
Sortiranje biranjem (selection sort)
6 4 1 8 7 5 3 2
1 4 6 8 7 5 3 2
1 2 6 8 7 5 3 4
1 2 3 8 7 5 6 4
1 2 3 4 7 5 6 8
1 2 3 4 5 7 6 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Algoritmi i strukture podataka, FER 07.04.2024 5 / 36
Algoritam i složenost
izvedba - 2 petlje:
vanjska određuje granice sortiranog dijela niza
unutarnja traži najmanji element u nizu
n 1
void SelectionSort (int A [], int N) { O(n i 1)
i 0
int i, j, min;
for (i = 0; i < N; i++) {
min = i;
for (j = i+1; j < N; j++) {
if (A[j] < A[min]) min = j;
O(n-i-1)
}
Zamijeni(&A[i], &A[min]);
}
}
n2
void BubbleSort (int A [], int N) {
O(n i 1)
int i, j; i 0
6 4 1 8 7 5 3 2
6 4 1 8 7 5 3 2
4 6 1 8 7 5 3 2
1 4 6 8 7 5 3 2
1 4 6 8 7 5 3 2
1 4 6 7 8 5 3 2
1 4 5 6 7 8 3 2
1 3 4 5 6 7 8 2
1 2 3 4 5 6 7 8
izvedba - 2 petlje:
vanjska služi za određivanje granice sortiranog dijela
unutarnja ubacuje element u sortirani niz i pomiče ostale elemente
Bubble
Selection
Insertion
Shell
31 24 47 1 6 78 12 65
31 24 47 1 6 78 12 65
31 24 47 1 6 78 12 65
31 24 47 1 6 78 12 65
24 31 1 47 6 78 12 65
1 24 31 47 6 12 65 78
1 6 12 24 31 47 65 78
Algoritmi i strukture podataka, FER 07.04.2024 23 / 36
Algoritam
Heap
Merge
Quick
Google...