Sorting Algorithm
Sorting adalah proses pengurutan suatu barisan secara ascending (a-z) atau descending (z-a). Algorithma adalah cara untuk menyelesaikan suatu masalah. Dalam tulisan ini akan saya bahas 3 algoritma pengurutan yaitu Buble Sort, Insertion sort, dan Selection sort.
Problems:
Diberikan barisan bilangan finite: 91, 76, 33, 12, 3, 77, 78, 81, 9, 0, 11
Urutkan barisan tersebut secara ascending!
Definition:
0. Elemen barisan adalah bilangan bulat/integer.
1. State awal adalah barisan paling awal. Contoh: 91.
2. Jumlah state/kondisi ada n! Contoh: 11! Namun ini tidak efisien.
3. Goal state terdefinisikan sebagai barisan yang terurut secara ascending. Contoh: 0, 3, 9, 11, 12, 33, 76, 77, 78, 81, 91.
Solution:
1. Buble Sort
- Proses sorting dimulai dari bilangan pertama (n), jika bilangan selanjutnya (n+1) lebih kecil maka swap dilakukan 1 kali. Begitu pula untuk bilangan lainnya, proses dilakukan sampai pernyataan n+1 < n tidak berlaku.
- Penerapan algoritma ini dalam c++:
2. Insertion Sort
- Proses sorting dilakukan pertamakali di state 2. Idenya: Akan dilakukan perbandingan, jika bilangan di kiri lebih besar, lakukan swap. Begitu seterusnya sampai bilangan n tidak lebih kecil dari n-1. Untuk worst case, proses membandingkan ini dilakukan sampa n-1 kali. jadi misalnya Head ada di bilangan ke 4, proses membandingkan dilakukan sebanyak 3 kali: bil. ke 4 dengan bil. ke 3, dengan bil. ke 2, ... sampai n=1.
- Penerapan algoritma ini dalam c++:
3. Selection Sort
- Metode ini sederhana saja. Dilakukan proses sebanyak n buah data/bilangan sampai diperoleh bilangan paling kecil. Setelah berhasil ditemukan, bilangan terkecil tersebut di swap dengan bilangan pertama (atau bilangan ke n=0, untuk akhir proses, n++). Begitu seterusnya sehingga untuk langkah/proses berikutnya dilakukan sebanyak n-1 (berkurang satu langkah).
- Penerapan algoritma ini dalam c++:
Selesai.
for more: www.algolist.net/Algorithms
Notes: Catatan ini adalah catatan belajar. Jadi tidak mutlak (100%) tepat, dan program c++ juga adalah hasil latian saya. Sharing dan semoga bermanfaat.
Label: Science and Technology
0 Komentar:
Posting Komentar
"Good man doing good things."
Berlangganan Posting Komentar [Atom]
<< Beranda