Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Struktur Data Oleh: Suhendro
Sorting Struktur Data Oleh: Suhendro
2
Kenapa Sorting itu penting ?
Memudahkan dalam pencarian suatu item atau duplikat
3
Apa yang akan kita bicarakan ?
Array In Memory Sorting Comparison based sorting algorithm In memory sorting item-item yang akan di-sort muat di dalam memori komputer, jadi tidak ada akses I/O ke harddisk A comparison based sorting algorithm makes ordering decisions only on the basis of comparisons
4
Penyegaran... Array Tuliskan tipe data array of integer !
Deklarasikan array of integer yang memiliki 10 item ! Angka indeks pada array dimulai dari angka ? Diketahui int[] tmp; Bagaimana cara mengambil nilai dari array pada indeks ke-1 ? Ubahlah nilai pada indeks ke-2 dengan nilai 25 ! Jika array pada variabel tmp memiliki n item, bagaimana mengambil nilai pada indeks terakhir ? Bagaimana menukar nilai pada indeks ke-1 dengan indeks ke-2 ?
5
Penyegaran... Comparison
Sebutkan operator untuk comparison ! Diketahui nilai a = 5, b = 10, dan c = 15. Apakah nilai dari: a < b b > c a+b <= c a-b >= a
6
Jenis-jenis Sorting
7
Bubble Sort Bayangkan gelembung udara yang bergerak ke atas hingga batas tertentu Sumber:
8
Bubble Sort 9 2. Tukar posisi 1. Nilai paling kiri/atas 3 Pilih item paling kiri/atas dari sekumpulan item yang belum terurut Bandingkan item tersebut dengan setiap item di sebelah kanan/bawah. Jika item sebelah kanan lebih kecil, maka tukar posisi. Ulangi hingga tidak ada item lagi yang belum terurut 8 Belum terurut 2 6 5
9
public static void bubbleSort (int[ ] x) { int finalSwapPos = x
public static void bubbleSort (int[ ] x) { int finalSwapPos = x.length - 1, swapPos; while (finalSwapPos > 0) swapPos = 0; for (int i = 0; i < finalSwapPos; i++) if (x [i] > x [i + 1]) swap (x, i, i + 1); swapPos = i; } finalSwapPos = swapPos;
11
Selection Sort 9 3 2. Tukar posisi Pilih item yang paling kecil dari sekumpulan item yang belum terurut Tukar item yang paling kecil tersebut dengan item paling kiri/atas dari bagian yang belum terurut Lakukan terus hingga semuanya terurut 8 Belum terurut 2 1. Nilai terkecil dari sekumpulan item yang belum terurut 6 5
12
public static void selectionSort (int [ ] x) {
// Make x [ i] sorted and <= x [i + 1] . . .x [x.length –1]: for (int i = 0; i < x.length –1; i++) int pos = i; for (int k = i + 1; k < x.length; k++) if (x [k] < x [pos]) pos = k; swap (x, i, pos); }
14
Insertion Sort Sumber:
15
Insertion Sort Algoritma sederhana, cocok untuk mengurutkan item dalam jumlah sedikit Cara kerja: Jika hanya ada satu item, maka sudah terurut (sorted) Menyisipkan (insert) item ke dalam sejumlah item yang telah terurut. Lakukan terus hingga tidak ada item yang akan disisipkan
16
Cara Kerja Insertion Sort
Disisipkan disebelah sini 8 5 9 2 6 3 terurut belum terurut
17
public static void insertionSort (int[ ] x) { for (int i = 1; i < x
public static void insertionSort (int[ ] x) { for (int i = 1; i < x.length; i++) for (int k = i; k > 0 && x [k -1] > x [k]; k--) swap (x, k, k -1); } public static void swap (int [ ] x, int a, int b) int t = x[a]; x[a] = x[b]; x[b] = t;
19
Sumber: http://www.sorting-algorithms.com/
20
Tugas Berdasarkan source code di dalam Slide ini, buat class untuk melakukan sorting dengan menggunakan algoritma Bubble Sort, Selection Sort, dan Insertion Sort. Dateline: Kamis, 12 Maret 2015
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.