Algoritma Sorting

download Algoritma Sorting

of 4

Transcript of Algoritma Sorting

Nama : Luthfie Maula Alfianto NIM : 163110083 Fak : FITB

ALGORITMA SORTINGA. Macam-Macam Sorting 1. Quicksort : Quicksort merupakan salah satu comparison based sorting algorithm yang menggunakan pendekatan metode divide and conquer. Untuk partisi susunan kita memilih sebuah elemen, yang disebut poros, memindahkan semua elemen yang lebih kecil sebelum poros, dan memindahkan semua elemen yang lebih besar setelah itu.

2. Insertion sort : Insertion sort adalah sederhana algoritma sorting yang relatif efisien untuk daftar kecil , dan sering digunakan sebagai bagian dari algoritma yang lebih canggih. Jika dibandingkan dengan algoritma lainnya Insertion sort lebih buruk dari sisi kompleksitasnya. Ia bekerja dengan mengambil unsur-unsur dari daftar satu per satu dan memasukkan mereka dalam posisi yang benar ke daftar urutan baru. Dalam susunan, daftar baru dan elemen yang tersisa dapat berbagi ruang, tapiitu harus menggeser semua elemen satu per satu. 3. Selection Sort: adalah Algoritma insertion sort, pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan (meja pertama), dan yang telah diurutkan (meja kedua). Elemen pertama yang diambil dari bagian array yang belum diurutkan dan kemudian diletakkan pada posisinya sesuai dengan bagian lain dari array yang telah diurutkan. langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.

4. Mergesort : Mergesort merupakan salah satu algoritma comparison based algorithm tercepat di antara algoritma comparison based sorting lainnya. Merge sort menggunakan pendekatan divide and conquer sama halnya seperti algoritma quick sort.

5. Bubble Sort adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.

6. Radix Sort Radix Sort merupakan salah satu algoritma Non-Comparasion Sort (pengurutan tanpa pembandingan). Proses ynang dilakukan dalam metode ini adalah mengklasifikasikan data sesuai dengan kategori terurut yang tertentu, dan tiap kategori dilakukan pengklasifikasian lagi, dan seterusnya sesuai kebutuhan, lalu subkategori-kategori tersebut digabungkan kembali. 7. Heap Sort Heapsort adalah versi yang jauh lebih efisien dari selektion sort. Ia bekerja dengan menentukan elemen terbesar (atau terkecil) dari daftar, menempatkan bahwa pada akhir (atau awal) daftar, kemudian melanjutkan dengan sisa dari daftar, namun menyelesaikan tugas ini secara efisien dengan menggunakan struktur data yang disebut heap, tipe khusus dari pohon biner. 8. Bucket Sort Bucket Sort adalah algoritma sorting yang bekerja dengan partisi susunan ke dalam jumlah terbatas ember. Setiap ember kemudian diurutkan secara individual, baik menggunakan algoritma sorting yang berbeda, atau dengan rekursif menerapkan algoritma sorting ember. Sebuah variasi dari metode ini disebut single buffered count sort, ini menghitung lebih cepat daripada count sort dan membutuhkan waktu yang sama untuk berjalan di setiap set data. 9. Shell sort Shell sort ditemukan oleh Donald Shell in 1959. Sort ini mengembangkan bubble sort dan insertion sort dengan mengeluarkan elemen-elemen lebih dari satu posisi. Salah satu implementasinya dapat digambarkan sebagai mengatur urutan data dalam dua dimensi susunan dan lalu menyortir kolom susunan menggunakan insertion sort.

10. Distibution Sort Distibution Sort adalah algoritma sorting dimana data didistribusikan dari input ke beberapa struktur peralihan yang kemudian dikumpulkan dan ditempatkan pada output. Lihat semacam Bucket.

11. Shuffle Sort Semacam distribusi algoritma yang dimulai dengan menghapus pertama 1 / 8 dari susunan, menyortir mereka (secara rekursif), dan menempatkan mereka dalam susunan. Hal ini menciptakan n / 8 ember dimana sisanya yang 7 / 8-nya didistribusikan. Setiap ember kemudian disortir, dan ember-ember bersambungan.

12. Strand Sort Sebuah algoritma yang bekerja dengan baik jika banyak item dalam urutan. Pertama, mulailah buat subdaftar dengan menggerakkan item pertama dari daftar asli ke subdaftar tersebut. Untuk setiap item berikutnya dalam daftar asli, jika lebih besar dari item terakhir subdaftar, keluarkan dari daftar asli dan menambahkan ke subdaftar tersebut. Gabungkan subdaftar ke daftar, akhir diurutkan. Berulang kali mengekstrak dan menggabungkan sublists sampai semua item diurutkan.

B. Contoh Pengurutan dari besar ke kecil dengan Bubble Sortuntuk setiap putaran ke-I=1,2,..,N-1 , lakukan : mulai dari elemen K=N,N-1, . , I+1 lakukan : 1. Bandingkan L(K) dengan L(K-1) 2. Pertukarkan L(K) dengan L(K-1) jika L(K) > L(K-1) Contoh : N=6 7 , 5 , 13 , 2 , 20 , 9 Putaran ke-1 : K=6 : 7 , 5 , 13 , 2 , 20 , 9 K=5 : 7 , 5 , 13 , 20, 2 , 9 K=4 : 7 , 5 , 20, 13, 2 , 9 K=3 : 7 , 20, 5 , 13, 2 , 9 K=2 : 20, 7 , 5 , 13 , 2 , 9

Putaran ke-2 : K=6 : 20, 7 , 5 , 13 , 9, 2 K=5 : 20, 7 , 5 , 13 , 9, 2 K=4 : 20, 7 , 13, 5 , 9, 2 K=3 : 20, 13, 7 , 5 , 9, 2 Putaran ke-3 : K=6 : 20, 13, 7 , 5 , 9, 2 K=2 : 20, 13, 7 , 9, 5, 2 K=3 : 20, 13, 9, 7, 5, 2 Putaran ke-4 : K=1 : 20, 13, 9, 7, 5, 2 K=2 : 20, 13, 9, 7, 5, 2 Putaran ke-5 : K=6 : 20, 13, 9, 7, 5, 2