Isih Buih lwn Isih Pilihan
Bubble sort ialah algoritma pengisihan yang beroperasi dengan melalui senarai untuk diisih berulang kali sambil membandingkan pasangan elemen yang bersebelahan. Jika sepasang elemen berada dalam susunan yang salah, ia ditukar untuk meletakkannya dalam susunan yang betul. Traversal ini diulang sehingga tiada pertukaran selanjutnya diperlukan. Isih pemilihan juga merupakan algoritma pengisihan, yang bermula dengan mencari elemen minimum dalam senarai dan menukarnya dengan elemen pertama. Proses ini diulang untuk baki senarai dengan meletakkan elemen yang ditukar mengikut urutan.
Apakah Isih Buih?
Bubble sort ialah algoritma pengisihan yang beroperasi dengan melalui senarai untuk diisih berulang kali sambil membandingkan pasangan elemen yang bersebelahan. Jika sepasang elemen berada dalam susunan yang salah, ia ditukar untuk meletakkannya dalam susunan yang betul. Traversal ini diulang sehingga tiada pertukaran lanjut diperlukan (yang bermaksud senarai itu diisih). Memandangkan unsur-unsur yang lebih kecil dalam senarai muncul di bahagian atas apabila gelembung muncul ke permukaan, ia diberi nama jenis gelembung. Isih gelembung ialah algoritma pengisihan yang sangat mudah tetapi ia mempunyai purata kerumitan masa kes O(n2) apabila mengisih senarai dengan n elemen. Disebabkan ini, isihan gelembung tidak sesuai untuk mengisih senarai dengan bilangan elemen yang banyak. Tetapi kerana kesederhanaannya, isihan gelembung diajar semasa pengenalan kepada algoritma.
Apakah Isih Pemilihan?
Isihan pilihan juga merupakan satu lagi algoritma pengisihan yang bermula dengan mencari elemen minimum dalam senarai dan menukarnya dengan elemen pertama. Kemudian elemen minimum ditemui dari baki senarai (dari elemen kedua sehingga elemen terakhir dalam senarai) dan ditukar dengan elemen kedua. Proses ini diulang untuk baki senarai dengan meletakkan elemen yang ditukar mengikut susunan. Jadi dalam isihan pemilihan, pada mana-mana langkah algoritma, senarai itu dibahagikan kepada dua bahagian di mana satu bahagian mengandungi unsur yang diisih dan bahagian yang lain mengandungi unsur yang tidak diisih. Apabila algoritma diteruskan, senarai yang diisih berkembang dari kiri ke kanan. Isih pemilihan juga mempunyai purata kerumitan masa kes O(n2). Oleh itu, ia juga tidak sesuai untuk mengisih senarai besar.
Apakah perbezaan antara Isih Buih dan Isih Pilihan?
Walaupun kedua-dua algoritma isihan gelembung dan isihan pemilihan mempunyai purata kerumitan masa kes O(n2), isihan gelembung hampir sepanjang masa mengatasi prestasi isihan pemilihan. Ini disebabkan oleh bilangan swap yang diperlukan oleh kedua-dua algoritma (isihan gelembung memerlukan lebih banyak swap). Tetapi disebabkan kesederhanaan jenis gelembung, saiz kodnya sangat kecil. Kestabilan adalah satu lagi perbezaan dalam kedua-dua algoritma ini. Algoritma pengisihan yang stabil, ialah algoritma pengisihan yang mengekalkan susunan rekod jika senarai mengandungi elemen dengan nilai yang sama. Dalam erti kata itu, isihan pemilihan bukanlah algoritma yang stabil manakala isihan gelembung ialah algoritma yang stabil.