sortiranje “bubble sort” · 2017-08-11 · programiranje amir hajdar teme sortiranje “bubble...
TRANSCRIPT
![Page 1: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/1.jpg)
PROGRAMIRANJEAmir Hajdar
Teme
Sortiranje“Bubble Sort”“Merge Sort”
2
Sortiranje
Sortiranje je proces koji sortira niz po određenom kriteriju (od najmanjeg ka najvećem, od najvećeg ka najmanjem, parne i neparne, itd.)
512354277 101
1 2 3 4 5 6
5 12 35 42 77 101
1 2 3 4 5 6
“Bubble Sort”
Algoritam:Krećući se od početka prema kraju, “Bubble”najveći element na kraj poredeći sve elemente u nizu i vršeći “swap” ako se veći element nalazi kao prethodnik u poređenju.
512354277 101
1 2 3 4 5 6
![Page 2: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/2.jpg)
“Bubble Sort”
512354277 101
1 2 3 4 5 6
Swap42 77
“Bubble Sort”
512357742 101
1 2 3 4 5 6Swap35 77
“Bubble Sort”
512773542 101
1 2 3 4 5 6Swap12 77
“Bubble Sort”
577123542 101
1 2 3 4 5 6
Nema potrebe za “swap”
![Page 3: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/3.jpg)
“Bubble Sort”
577123542 101
1 2 3 4 5 6Swap5 101
“Bubble Sort”
77123542 5
1 2 3 4 5 6
101
Najveći element ispravno postavljen
“Bubble Sort” algoritam// n je velicina niza
int index = 1;
int zadnja_poz = n – 1;
while(index <= zadnja_poz) {
if(A[index] > A[index + 1]) {
Swap(A, index);
}
index++;
}
“Swap” metoda
public static void Swap(int A[ ], int i){int temp = A[i];A[i] = A[i+1];A[i+1] = temp;
}
![Page 4: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/4.jpg)
Bubble Sortiranje
Jedino je sad najveći element na pravoj pozicijiSvi ostali elementi nisu poredaniZnači, trebamo ponoviti proces
77123542 5
1 2 3 4 5 6
101
“Bubbling” sve elemente
77123542 51 2 3 4 5 6
101
5421235 771 2 3 4 5 6
101
4253512 771 2 3 4 5 6
101
4235512 771 2 3 4 5 6
101
4235125 771 2 3 4 5 6
101
N -
1
Kako smanjiti broj poređenja?
12354277 1011 2 3 4 5 6
5
77123542 51 2 3 4 5 6
101
5421235 771 2 3 4 5 6
101
4253512 771 2 3 4 5 6
101
4235512 771 2 3 4 5 6
101
Kako smanjiti broj poređenja?
Samo 1 put moramo napraviti (n-1) poređenjaNpr.:
4253512 771 2 3 4 5 6
101
![Page 5: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/5.jpg)
// n - velicina nizapublic final static int n = 8;
public static void Swap(int A[],int i){int temp = A[i];A[i] = A[i+1];A[i+1] = temp;
}
“Bubble Sort” code
public static void Bubblesort(int A[n]) {
int za_uraditi, index;
za_uraditi = n – 1;
while(za_uraditi > 0 ) {
index = 1;
while (index <= za_uraditi) {
if(A[index] > A[index + 1]) {
Swap(A, index);
}
index++;
}
za_uraditi --;
}
} // Bubblesort
Unu
traš
nja
petlj
a
Vanj
ska
petlj
a
“Bubble Sort” code
Problemi sa “Buble sort”-iranjem
Šta ako je niz već sortiran?Šta ako je niz već nakon par “swap”-ova sortiran?Rezultat: Potrebno je da ovakve situacije detektujemo na vrijeme i spriječimo ih!
4235125 771 2 3 4 5 6
101
Koristiti Boolean varijablu
Možemo koristiti boolean varijablu da detektujemo da li je poziv na metodu “Swap” izvršen.Ako “Swap” nije izvršen, znači da je niz većsortiran!VAŽNO: Ova varijabla mora biti resetovana nakon provjere čitavog niza
![Page 6: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/6.jpg)
“Bubble Sort” (sa boolean varijablom)
public static void BubbleSort( int A[N] ) {
int to_do, index;
to_do = N – 1;
boolean did_swap = true;
while((to_do > 0) && did_swap) {
index = 1;
did_swap = false;
while (index <= to_do) {
if(A[index] > A[index + 1]) {
Swap(A,index);
did_swap = true;
}
index++;
}
to_do --;
}
} // BubbleSort
Upotreba {…}je obavezna jer su 2 komande
povezane
Primjer
674523 14 6 3398 42
1 2 3 4 5 6 7 8
to_do
index
7
N 8 did_swap true
Primjer
674523 14 6 3398 42
1 2 3 4 5 6 7 8
to_do
index
7
1
N 8 did_swap false
Primjer
674523 14 6 3398 42
1 2 3 4 5 6 7 8
to_do
index
7
1
N 8
Swap
did_swap false
![Page 7: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/7.jpg)
Primjer
674598 14 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
1
N 8
Swap
did_swap true
Primjer
674598 14 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
2
N 8 did_swap true
Primjer
674598 14 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
2
N 8
Swap
did_swap true
Primjer
679845 14 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
2
N 8
Swap
did_swap true
![Page 8: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/8.jpg)
Primjer
679845 14 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
3
N 8 did_swap true
Primjer
679845 14 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
3
N 8
Swap
did_swap true
Primjer
671445 98 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
3
N 8
Swap
did_swap true
Primjer
671445 98 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
4
N 8 did_swap true
![Page 9: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/9.jpg)
Primjer
671445 98 6 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
4
N 8
Swap
did_swap true
Primjer
671445 6 98 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
4
N 8
Swap
did_swap true
Primjer
671445 6 98 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
5
N 8 did_swap true
Primjer
671445 6 98 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
5
N 8
Swap
did_swap true
![Page 10: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/10.jpg)
Primjer
981445 6 67 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
5
N 8
Swap
did_swap true
Primjer
981445 6 67 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
6
N 8 did_swap true
Primjer
981445 6 67 3323 42
1 2 3 4 5 6 7 8
to_do
index
7
6
N 8
Swap
did_swap true
Primjer
331445 6 67 9823 42
1 2 3 4 5 6 7 8
to_do
index
7
6
N 8
Swap
did_swap true
![Page 11: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/11.jpg)
Primjer
331445 6 67 9823 42
1 2 3 4 5 6 7 8
to_do
index
7
7
N 8 did_swap true
Primjer
331445 6 67 9823 42
1 2 3 4 5 6 7 8
to_do
index
7
7
N 8
Swap
did_swap true
Primjer
331445 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
7
7
N 8
Swap
did_swap true
Poslije 1.-og izvršenja vanjske petlje
331445 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
7
8
N 8 did_swap true
![Page 12: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/12.jpg)
“Bubble sort” 2. izvršenje
331445 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
1
N 8 did_swap false
“Bubble sort” 2. izvršenje
331445 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
1
N 8 did_swap false
No Swap
“Bubble sort” 2. izvršenje
331445 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
2
N 8 did_swap false
“Bubble sort” 2. izvršenje
331445 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
2
N 8 did_swap false
Swap
![Page 13: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/13.jpg)
“Bubble sort” 2. izvršenje
334514 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
2
N 8 did_swap true
Swap
“Bubble sort” 2. izvršenje
334514 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
3
N 8 did_swap true
“Bubble sort” 2. izvršenje
334514 6 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
3
N 8 did_swap true
Swap
“Bubble sort” 2. izvršenje
33614 45 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
3
N 8 did_swap true
Swap
![Page 14: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/14.jpg)
“Bubble sort” 2. izvršenje
33614 45 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
4
N 8 did_swap true
“Bubble sort” 2. izvršenje
33614 45 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
4
N 8 did_swap true
No Swap
“Bubble sort” 2. izvršenje
33614 45 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
5
N 8 did_swap true
“Bubble sort” 2. izvršenje
33614 45 67 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
5
N 8 did_swap true
Swap
![Page 15: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/15.jpg)
“Bubble sort” 2. izvršenje
67614 45 33 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
5
N 8 did_swap true
Swap
“Bubble sort” 2. izvršenje
67614 45 33 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
6
N 8 did_swap true
“Bubble sort” 2. izvršenje
67614 45 33 4223 98
1 2 3 4 5 6 7 8
to_do
index
6
6
N 8 did_swap true
Swap
“Bubble sort” 2. izvršenje
42614 45 33 6723 98
1 2 3 4 5 6 7 8
to_do
index
6
6
N 8 did_swap true
Swap
![Page 16: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/16.jpg)
Poslije 2.-og izvršenja vanjske petlje
42614 45 33 6723 98
1 2 3 4 5 6 7 8
to_do
index
6
7
N 8 did_swap true
“Bubble sort” 3. izvršenje
42614 45 33 6723 98
1 2 3 4 5 6 7 8
to_do
index
5
1
N 8 did_swap false
“Bubble sort” 3. izvršenje
42614 45 33 6723 98
1 2 3 4 5 6 7 8
to_do
index
5
1
N 8 did_swap false
Swap
“Bubble sort” 3. izvršenje
42623 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
1
N 8 did_swap true
Swap
![Page 17: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/17.jpg)
“Bubble sort” 3. izvršenje
42623 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
2
N 8 did_swap true
“Bubble sort” 3. izvršenje
42623 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
2
N 8 did_swap true
Swap
“Bubble sort” 3. izvršenje
42236 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
2
N 8 did_swap true
Swap
“Bubble sort” 3. izvršenje
42236 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
3
N 8 did_swap true
![Page 18: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/18.jpg)
“Bubble sort” 3. izvršenje
42236 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
3
N 8 did_swap true
No Swap
“Bubble sort” 3. izvršenje
42236 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
4
N 8 did_swap true
“Bubble sort” 3. izvršenje
42236 45 33 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
4
N 8 did_swap true
Swap
“Bubble sort” 3. izvršenje
42236 33 45 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
4
N 8 did_swap true
Swap
![Page 19: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/19.jpg)
“Bubble sort” 3. izvršenje
42236 33 45 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
5
N 8 did_swap true
“Bubble sort” 3. izvršenje
42236 33 45 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
5
N 8 did_swap true
Swap
“Bubble sort” 3. izvršenje
45236 33 42 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
5
N 8 did_swap true
Swap
Poslije 3.-eg izvršenja vanjske petlje
45236 33 42 6714 98
1 2 3 4 5 6 7 8
to_do
index
5
6
N 8 did_swap true
![Page 20: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/20.jpg)
“Bubble sort” 4. izvršenje
45236 33 42 6714 98
1 2 3 4 5 6 7 8
to_do
index
4
1
N 8 did_swap false
“Bubble sort” 4. izvršenje
45236 33 42 6714 98
1 2 3 4 5 6 7 8
to_do
index
4
1
N 8 did_swap false
Swap
“Bubble sort” 4. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
1
N 8 did_swap true
Swap
“Bubble sort” 4. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
2
N 8 did_swap true
![Page 21: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/21.jpg)
“Bubble sort” 4. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
2
N 8 did_swap true
No Swap
“Bubble sort” 4. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
3
N 8 did_swap true
“Bubble sort” 4. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
3
N 8 did_swap true
No Swap
“Bubble sort” 4. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
4
N 8 did_swap true
![Page 22: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/22.jpg)
“Bubble sort” 4. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
4
N 8 did_swap true
No Swap
Poslije 4.-og izvršenja vanjske petlje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
4
5
N 8 did_swap true
“Bubble sort” 5. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
1
N 8 did_swap false
“Bubble sort” 5. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
1
N 8 did_swap false
No Swap
![Page 23: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/23.jpg)
“Bubble sort” 5. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
2
N 8 did_swap false
“Bubble sort” 5. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
2
N 8 did_swap false
No Swap
“Bubble sort” 5. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
3
N 8 did_swap false
“Bubble sort” 5. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
3
N 8 did_swap false
No Swap
![Page 24: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/24.jpg)
“Bubble sort” 5. izvršenje
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
4
N 8 did_swap false
Završeno ranije!
452314 33 42 676 98
1 2 3 4 5 6 7 8
to_do
index
3
4
N 8 did_swap false
S obzirom da nismo napravili nijedan“swap”, nema potrebe dalje provjeravati jer niz mora biti sortiran!
“Divide and Conquer” i merge sortiranje
“Divide and Conquer” polovi problem u 2 dijela i zatim rješava svaki dio posebno:
Nastavi dijeliti problem na 2 dijela dok problem ne postane trivijalanRiješi trivijalne dijeloveSastavi trivijalne dijelove
“Merge” sortiranje prati ovaj algoritam
Algoritam
Mergesort(Passed an array)if array_size > 1
Divide array in halfCall Mergesort on first half.Call Mergesort on second half.Merge two halves.
Merge(Passed two arrays)Compare leading element in each arraySelect lower and place in new array.
(If one input array is empty then placeremainder of other array in output array)
![Page 25: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/25.jpg)
674523 14 6 3398 42 674523 14 6 3398 42
674523 14 6 3398 42
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398
![Page 26: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/26.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398
Merge
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398
23
Merge
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398
23 98
Merge
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
23 98
![Page 27: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/27.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
Merge
23 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
14
Merge
23 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
45
Merge
23 98 14
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
Merge
98 451423
![Page 28: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/28.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
Merge
98 14
14
23 45
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
Merge
23 14
14 23
98 45
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
Merge
23 98 4514
14 23 45
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
Merge
23 98 4514
14 23 45 98
![Page 29: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/29.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
23 98 4514
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676
23 98 4514
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676
Merge
23 98 4514
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676
6
Merge
23 98 4514
14 23 45 98
![Page 30: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/30.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676
67
Merge
23 98 4514 6
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
23 98 4514 676
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
3323 98 4514 676
14 23 45 98
![Page 31: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/31.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
4223 98 4514 676 33
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 45 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 6 4233
14 23 45 98 6
67
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 6 33
14 23 45 98 6 33
67 42
![Page 32: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/32.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 6 4233
14 23 45 98 6 33 42
67
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 45 98 6 33 42 67
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
23 45 98 33 42 6714 6
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
23 45 98 6 42 67
6
14 33
![Page 33: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/33.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 45 98 6 42 67
6 14
23 33
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 98 6 42 67
6 14 23
45 33
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 98 6 33 67
6 14 23 33
45 42
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 98 6 33 42
6 14 23 33 42
45 67
![Page 34: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/34.jpg)
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 45 6 33 42
6 14 23 33 42 45
98 67
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 45 98 6 33 42 67
6 14 23 33 42 45 67
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
Merge
23 98 4514 676 4233
14 23 45 98 6 33 42 67
6 14 23 33 42 45 67 98
674523 14 6 3398 42
674523 14 6 3398 42
4523 1498
2398 45 14
676 33 42
676 33 42
23 98 4514 676 4233
14 23 45 98 6 33 42 67
6 14 23 33 42 45 67 98
![Page 35: Sortiranje “Bubble Sort” · 2017-08-11 · PROGRAMIRANJE Amir Hajdar Teme Sortiranje “Bubble Sort” “Merge Sort” 2 Sortiranje Sortiranje je proces koji sortira niz po određenom](https://reader033.vdocuments.net/reader033/viewer/2022060509/5f24ecc0bc895f37142db45f/html5/thumbnails/35.jpg)
674523 14 6 3398 42
6 14 23 33 42 45 67 98