Professional Documents
Culture Documents
Sorting
Fasilkom UI
40
2 40
2 40
1 1 43
3 43
3 65
0 65
-1
0 58
65
-1 65
58
3 42
65
3 65
42
4 65
4
1 40 2 1 43 3 65 0 -1 58 3 42 4
2 2 1 40 3 43 0 -1 58 3 42 4 65
3 1 2 3 40 0 -1 43 3 42 4 58 65
4 1 2 3 0 -1 40 3 42 4 43 58 65
6 1 0 -1 2 3 3 4 40 42 43 58 65
7 0 -1 1 2 3 3 4 40 42 43 58 65
8 -1 0 1 2 3 3 4 40 42 43 58 65
40 2 1 43 3 65 0 -1 58 3 42 4
40 2 1 43 3 4 0 -1 58 3 42 65
40 2 1 43 3 4 0 -1 42 3 58 65
40 2 1 3 3 4 0 -1 42 43 58 65
40 2 1 3 3 4 0 -1 42 43 58 65
-1 2 1 3 3 4 0 40 42 43 58 65
-1 2 1 3 3 0 4 40 42 43 58 65
-1 2 1 0 3 3 4 40 42 43 58 65
-1 2 1 0 3 3 4 40 42 43 58 65
-1 0 1 2 3 3 4 40 42 43 58 65
-1 0 1 2 3 3 4 40 42 43 58 65
-1 0 1 2 3 3 4 40 42 43 58 65
-1 0 1 2 3 3 4 40 42 43 58 65
int T = a[min];
a[min] = a[i];
a[i] = T;
Pindahkan ke
} akhir sorted
} list.
40 2 1 43 3 65 0 -1 58 3 42 4
2 40 1 43 3 65 0 -1 58 3 42 4
1 2 40 43 3 65 0 -1 58 3 42 4
1 2 40 43 3 65 0 -1 58 3 42 4
1 2 3 40 43 65 0 -1 58 3 42 4
1 2 3 40 43 65 0 -1 58 3 42 4
1 2 3 40 43 65 0 -1 58 3 42 4
0 1 2 3 40 43 65 -1 58 3 42 4
-1
0 1
0 2
1 3
2 40
3 40
43 43
65 65 58 3 42 4
-1
0 1
0 2
1 3
2 40
3 40
43 43
65 58 65 3 42 4
-1
0 1
0 2
1 3
2 40
3 43
3 40
65 43
43 58 58
65 65 42 4
-1
0 1
0 2
1 3
2 40
3 43
3 40
65 42 43
43 65 58 65 4
-1
0 1
0 2
1 3
2 40
3 43
3 43
65
4 40
42 42
65 43
43 58 58
65 65
After 5-sort:
40 0 -1 43 3 42 2 1 58 3 65 4
After 3-sort:
2 0 -1 3 1 4 40 3 42 43 65 58
After 1-sort:
-1
0 1
0 2
1 3 40
2 3 43
3 43
65
4 40
42 42
65 43
43 58 58
65 65
1 2 3 40 43 65 -1 0 3 4 42 58
CounterA CounterB
-1 1 0 2 3 3 4 40 42 43 58 65
Counterc
40 2 1 43 3 65 0 -1 58 3 42 4
40 2 1 43 3 65 0 -1 58 3 42 4
split
40 2 1 43 3 65 0 -1 58 3 42 4
40 2 1 43 3 65 0 -1 58 3 42 4
40 2 1 43 3 65 0 -1 58 3 42 4 split
2 1 3 65 -1 58 42 4
40 1 2 43 3 65 0 -1 58 3 4 42
merge
1 2 40 3 43 65 -1 0 58 3 4 42
1 2 40 3 43 65 -1 0 58 3 4 42
1 2 3 40 43 65 -1 0 3 4 42 58 merge
-1 0 1 2 3 3 4 40 42 43 58 62
58 -1
4
2 42
3 43
0 40
1
3
65
65
2
0 42
3 40
4 43
-1 3 58
1
-1 0 1 2 3 3 4 40 42 43 58 65
-1 0 1 2 3 3 4 40 42 43 58 65
40 2 1 43 3 65 0 -1 58 3 42 4
left right
4 2 1 43 3 65 0 -1 58 3 42 40
4 2 1 40 3 65 0 -1 58 3 42 43
4 2 1 3 3 65 0 -1 58 40 42 43
4 2 1 3 3 40 0 -1 58 65 42 43
4 2 1 3 3 -1 0 40 58 65 42 43
4 2 1 3 3 -1 0 40 58 65 42 43
left right
SUR – HMM – AA Fasilkom UI – IKI20100/IKI80110P 2009/2010 – Ganjil – Minggu 5 41
Quick sort: Partition algorithm 1
40 2 1 43 3 65 0 -1 58 3 42 4
4 2 1 3 3 -1 0 40 58 65 42 43
0 2 1 3 3 -1 4 43 42 58 65
-1 0 1 3 3 2 42 43 65
-1 1 3 3 2 42
2 3 3
2 3
-1 0 1 2 3 3 4 40 42 43 58 65
SUR – HMM – AA Fasilkom UI – IKI20100/IKI80110P 2009/2010 – Ganjil – Minggu 5 42
Quick sort: Partition algorithm 2
Original: 40 2 1 43 3 65 0 -1 58 3 42 4
pivot =
“buang” pivot sementara
40
4 2 1 43 3 65 0 -1 58 3 42 40
4 2 1 43 3 65 0 -1 58 3 42 40
left right
4 2 1 3 3 65 0 -1 58 43 42 40
left right
SUR – HMM – AA Fasilkom UI – IKI20100/IKI80110P 2009/2010 – Ganjil – Minggu 5 43
Quick sort: Partition algorithm 2
4 2 1 3 3 65 0 -1 58 43 42 40
left right
4 2 1 3 3 -1 0 65 58 43 42 40
left right
4 2 1 3 3 -1 0 65 58 43 42 40
right left
sort (rekursif) sort (rekursif)
CROSSING!