Kelebihan & Kekurangan Bubble Sort

Pemrogram yang beralih dari PC dan pengembangan web ke pengkodean untuk perangkat seluler atau sistem tertanam menemukan bahwa lebih banyak waktu dihabiskan untuk memilih dan mengkodekan struktur data dan algoritme mereka sendiri. Dengan lebih sedikit memori dan penyimpanan data yang terbatas, tidak ada ruang untuk perpustakaan atau kerangka kerja yang dibuat sebelumnya. Nah, bagi Anda yang ingin menulis sendiri tentang sorting routine, berikut beberapa pertimbangan dalam memilih lowly bubble sort.

Latar belakang

Bubble sort adalah algoritma sederhana yang mengurutkan daftar item dalam memori. Diberikan sebuah array, kode berulang kali membandingkan setiap pasangan item yang berdekatan dan menukarnya jika tidak berurutan. Proses berulang sampai tidak ada lagi swap yang terjadi. Jika mungkin untuk melihat larik saat pengurutan sedang berlangsung, nilai rendah akan "bergelembung" ke atas sementara nilai besar akan tenggelam ke bawah. Berikut adalah kode yang relevan dalam Visual Basic 2010:

Video Hari Ini

Sedangkan swap = True swap = False For i = 0 To tbl.length - 2 If tbl (i) > tbl (i + 1) Maka tmp = tbl (i) tbl (i) = tbl (i + 1) tbl (i + 1) = tmp swap = True End If Next End While

Kapan Memilih Bubble Sort

Algoritma ini memiliki beberapa keunggulan. Sederhana untuk menulis, mudah dimengerti dan hanya membutuhkan beberapa baris kode. Data diurutkan di tempat sehingga hanya ada sedikit memori dan, setelah diurutkan, data ada di memori, siap untuk diproses. Kerugian utama adalah jumlah waktu yang dibutuhkan untuk menyortir. Waktu rata-rata meningkat hampir secara eksponensial karena jumlah elemen tabel meningkat. Sepuluh kali jumlah item membutuhkan waktu hampir seratus kali lebih lama untuk disortir.

Jenis Array Lainnya

Algoritma pengurutan bervariasi dalam kompleksitas, kecepatan, dan overhead. Jenis gelembung adalah yang paling tidak rumit tetapi juga salah satu yang paling lambat. Jenis berbasis array lainnya seperti jenis penyisipan dan jenis pertukaran sedikit lebih cepat tetapi membutuhkan lebih banyak kode (lihat referensi di bawah). Keuntungan utama dari jenis berbasis array adalah mereka menggunakan kode paling sedikit dan mengambil paling sedikit memori kerja. Pertimbangkan jenis ini untuk array sederhana dengan kurang dari beberapa ratus item.

Algoritma Sortir Kompleks

Kumpulan data yang lebih besar memerlukan kode yang lebih kompleks dan lebih banyak memori. Pengurutan cepat dan pengurutan tumpukan membagi dan menyalin kumpulan data untuk mengoptimalkan jumlah perbandingan. Pengurutan cepat terus-menerus membagi daftar kemudian menyusunnya kembali dalam urutan yang diurutkan. Heap sort menyalin data ke dalam struktur pohon kemudian melintasi pohon untuk menyalin data kembali ke urutan semula. Keduanya cepat dan efisien tetapi membutuhkan lebih banyak kode dan lebih banyak penyimpanan yang berfungsi. Pilih algoritme ini untuk kumpulan data besar.