Sorting
1. Bubble Sort
Bubble sort adalah salah satu algoritme yang paling umum digunakan untuk menyortir data di Java. Pengurutan di sini dilakukan dengan membandingkan nomor yang berdekatan secara rekursif dan menggesernya dalam urutan naik atau turun sesuai kebutuhan. Selesaikan pergerakan elemen ini hingga semua nomor diurutkan dalam urutan yang diperlukan. Nama algoritme ini adalah "Bubble sort" karena elemen array menggelembung ke awal.
Kelebihan Bubble Sort :
- Proses penghitungan Bubble sort merupakan metode yang paling sederhana
- Algoritma Bubble Sort mudah dipahami
- Langkah atau tahapan dalam pengurutan data sangat sederhana.
Kekurangan Bubbe Sort :
- Proses penghitungan Bubble Sort menggunakan metode pengurutan termasuk paling tidak efisien walaupun dianggap sederhana. Karena proses pengurutan data dilakukan dengan tahapana satu - satu, mulai dari data paling awal sebelah kiri, sampai data terakhir
- Ketika data yang kita punya banyak atau dalam jumlah yang besar, maka proses penghitungan akan semakin lama dan lambat. Karena proses pengurutan data secara tunggal (satu - satu).
- Jumlah pengulangan akan tetap sama sampai ke data yang terakhir, walaupun sebagian data yang ada telah terurut.
Source Code:
Hasil:
2. Selection Sort
Selection Sort di Java adalah metode pengurutan yang secara konstan mencari elemen terkecil di bagian yang tidak diurutkan dan menyimpannya di awal (diurutkan dalam urutan menaik). Proses ini akan diulangi hingga larik masukan disortir. Demikian pula, dalam Selection Sort, kita membagi larik input menjadi dua sub-larik, salah satunya digunakan untuk elemen yang diurutkan dan yang lainnya digunakan untuk elemen yang tidak diurutkan. Pada awalnya, sub-larik yang diurutkan tidak akan berisi elemen apa pun.
Kelebihan Selection Sort :
- Algoritma ini sangat rapat dan mudah untuk diimplementasikan.
- Mempercepat pencarian
- Mudah menentukan data maksimum /minimum.
- Mudah menggabungkannya kembali.
- Kompleksitas selection sort relatif lebih kecil.
Kekurangan Selection Sort :
- Membutuhkan method tambahan
- Sulit untuk digabungkan kembali
- Perlu dihindari untuk penggunaan data lebih dari 1000 tabel, karena akan menyebabkan kompleksitas yang lebih tinggi dan kurang praktis
Source Code:
Hasil:
3. Insertion Sort
Jika Anda seorang programmer pasti sudah banyak mendengar tentang sortir. Pengurutan pada dasarnya adalah mengatur elemen-elemen baik dalam urutan naik atau turun. Ada begitu banyak algoritma pengurutan yang tersedia untuk mengurutkan elemen dan setiap algoritma memiliki cara yang berbeda untuk mengurutkan, kompleksitas yang berbeda. Jadi itu tergantung pada skenario spesifik dan jumlah elemen untuk algoritma mana yang harus digunakan. Insertion juga merupakan salah satu algoritma pengurutan yang umum digunakan yang memiliki kompleksitas O (n ^ 2) secara umum dan dilakukan seperti kita mengurutkan kartu remi di tangan kita.
Kelebihan Insertion Sort :
- Sederhana dalam penerapannya.
- Mangkus dalam data yang kecil.
- Jika list sudah terurut atau sebagian terurut maka Insertion Sort akan lebih cepat dibandingkan dengan Quicksort.
- Mangkus dalam data yang sebagian sudah terurut.
- Lebih mangkus dibanding Bubble Sort dan Selection Sort.
- Loop dalam pada Inserion Sort sangat cepat, sehingga membuatnya salah satu algoritma pengurutan tercepat pada jumlah elemen yang sedikit.
- Stabil.
Kekurangan Insertion Sort :
- Banyaknya operasi yang diperlukan dalam mencari posisi yang tepat untuk elemen larik.
- Untuk larik yang jumlahnya besar ini tidak praktis.
- Jika list terurut terbalik sehingga setiap eksekusi dari perintah harus memindai dan mengganti seluruh bagian sebelum menyisipkan elemen berikutnya.
- Membutuhkan waktu O(n^2) pada data yang tidak terurut, sehingga tidak cocok dalam pengurutan elemen dalam jumlah besar.
Source Code:
Hasil:
Komentar
Posting Komentar