Matakuliah : T0456 / Algoritma dan Metode Object Oriented Programming Tahun : 2007 Quick sort Pertemuan 12
Pada akhir pertemuan ini, diharapkan: Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menggunakan algoritma quick sort untuk mengurutkan data. Buku Referensi: Algorithms in C++, Addison Wesley, 1992. Websites: http://www.deitel.com 3 Bina Nusantara
Outline Materi Algoritma quick sort Simulasi algoritma quick sort Contoh program 4 Bina Nusantara
Quick sort Bekerja dengan memartisi data menjadi 2 bagian sehingga: a[kiri], a[kiri+1], …, a[i-1] < a[i] a[i] berada pada posisi yang tepat a[i+1], a[i+2], …, a[kanan] > a[i] [kiri] [kiri+1] … [i-1] [i] [i+1] … [kanan] … … 12 45 69 84 70 Bina Nusantara
Quick sort (0,8) [0] [1] [2] [3] [4] [5] [6] [7] [8] 73 79 76 72 75 78 71 77 74 J=1 K=6 Tukar 73 71 76 72 75 78 79 77 74 J=2 K=3 Tukar 73 71 72 76 75 78 79 77 74 J=3 K=2 Tukar QS(0,1) QS(3,8) 72 71 73 76 75 78 79 77 74 Bina Nusantara
Quick sort (0,1) [0] [1] [2] [3] [4] [5] [6] [7] [8] 72 71 73 76 75 78 79 77 74 J=2 K=1 Tukar 71 72 73 76 75 78 79 77 74 Bina Nusantara
Quick sort (3,8) [0] [1] [2] [3] [4] [5] [6] [7] [8] 71 72 73 76 75 78 79 77 74 J=5 K=8 Tukar 71 72 73 76 75 74 79 77 78 J=6 K=5 Tukar 71 72 73 74 75 76 79 77 78 QS(3,4) QS(6,8) Bina Nusantara
Quick sort (3,4) [0] [1] [2] [3] [4] [5] [6] [7] [8] 71 72 73 74 75 76 79 77 78 J=4 K=3 71 72 73 74 75 76 79 77 78 Bina Nusantara
Quick sort (6,8) [0] [1] [2] [3] [4] [5] [6] [7] [8] 71 72 73 74 75 76 79 77 78 J=… K=8 Tukar 71 72 73 74 75 76 78 77 79 QS(6,7) Bina Nusantara
Quick sort (6,7) [0] [1] [2] [3] [4] [5] [6] [7] [8] 71 72 73 74 75 76 78 77 79 J=8 K=7 Tukar 71 72 73 74 75 76 77 78 79 QS(6,6) Bina Nusantara
Quick sort (6,6) [0] [1] [2] [3] [4] [5] [6] [7] [8] 71 72 73 74 75 76 77 78 79 J=… K=6 71 72 73 74 75 76 77 78 79 Bina Nusantara
Quick sort Void QS (int *Dt, int Kr, int Kn){ int i, j, k; if (Kr<Kn) { j = Kr; k = Kn+1; do { do j++; while (Dt[j]<Dt[Kr]); do k--; while (Dt[k]>Dt[Kr]); if (j<k) tukar (&Dt[j], &Dt[k]); } while (j<=k); tukar (&Dt[Kr], &Dt[k]); QS (Dt, Kr, k-1); QS (Dt, k+1, Kn); } Bina Nusantara
Diskusi dan Tanya Jawab Latihan soal 14 Bina Nusantara