Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 21 Merge Sort Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 21 Merge Sort Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5."— Transcript presentasi:

1 1 Pertemuan 21 Merge Sort Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat Menjelaskan kembali algoritma merge sort

3 3 Outline Materi Algoritma Merge Sort Penerapan Merge Sort

4 4 Sorting Sorting merupakan proses mengurutkan data sesuai aturan tertentu: Ascending: dari terkecil sampai terbesar Descending: dari terbesar sampai terkecil Tujuan sorting adalah untuk mempercepat proses pencarian (searching) data

5 5 Sorting Teknik pengurutan sederhana: Bubble sort Selection sort Insertion sort Teknik pengurutan lanjut: Quick sort Merge sort

6 6 Pada tahap awal, semua data dibagi menjadi bagian/kelompok data terkecil. Kemudian tiap dua data digabungkan menjadi 1 kelompok data gabungan. Penggabungan data diteruskan sampai semua data terintegrasi menjadi satu

7 7 Merge sort (Putaran 1) [0][1][2][3][4] 1252 69 40 18 [5][6][7][8][9] 5122 9 14 38 1252 69 40 18 5122 9 14 38 Gabung 5212 40 69 18 922 51 14 38

8 8 Merge sort (Putaran 2) Gabung 5212 40 69 18 922 51 14 38 4012 52 69 9 2218 51 14 38

9 9 Merge sort (Putaran 3) Gabung 14 38 4012 52 69 9 2218 51 14 38 129 18 22 40 5251 69

10 10 Merge sort (Putaran 4) Gabung 14 38 52 69 129 14 18 22 4038 51 129 18 22 40 5251 69

11 11 Void merge (int *a, int *t, int PKr, int PMid, int PKn){ int i, l1, u1, l2, u2, k; l1 = PKr; u1 = PMid-1; l2 = PMid;U2 = PKn; k = PKr; while ((l1 <= u1) && (l2 <=u2)) t[k++] = (a[l1] { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/12/3719952/slides/slide_11.jpg", "name": "11 Void merge (int *a, int *t, int PKr, int PMid, int PKn){ int i, l1, u1, l2, u2, k; l1 = PKr; u1 = PMid-1; l2 = PMid;U2 = PKn; k = PKr; while ((l1 <= u1) && (l2 <=u2)) t[k++] = (a[l1]

12 12 Void m_sort (int *a, int *t, int Kr, int Kn){ int mid; if (Kr < Kn) { mid = (Kr+Kn)/2; m_sort(a, t, Kr, mid); m_sort(a, t, mid+1, Kn); merge(a, t, Kr, mid+1, kn); } Merge sort 2

13 13 Void mergeSort (int *Dt, int n){ int *temp; temp = (int *) malloc ((n+1)*sizeof(int)); m_sort(Dt, temp, 0, n-1); free(temp); } Merge sort 3

14 14 Penutup Untuk dapat Menjelaskan kembali algoritma merge sort, mahasiswa membahas tugas pertemuan 21 no 1, 2, dan 3. (diskusikan dalam kelompok)


Download ppt "1 Pertemuan 21 Merge Sort Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5."

Presentasi serupa


Iklan oleh Google