Jenis gelembung didasarkan pada gagasan membandingkan pasangan elemen yang berdekatan dan kemudian menukar posisi mereka jika mereka ada dalam urutan yang salah.
Contoh:
Referensi: Hackerearth
Sort Penyisipan didasarkan pada gagasan bahwa satu elemen dari elemen input dikonsumsi di setiap iterasi untuk menemukan posisi yang benar yaitu, posisi yang termasuk dalam array yang diurutkan.
Ini mengulangi elemen input dengan menumbuhkan array yang diurutkan pada setiap iterasi. Ini membandingkan elemen saat ini dengan nilai terbesar dalam array yang diurutkan. Jika elemen saat ini lebih besar, maka ia meninggalkan elemen di tempatnya dan bergerak ke elemen berikutnya, ia menemukan posisi yang benar dalam array yang diurutkan dan memindahkannya ke posisi itu. Ini dilakukan dengan menggeser semua elemen, yang lebih besar dari elemen saat ini, dalam array yang diurutkan ke satu posisi di depan
Contoh:
Referensi: Hackerearth
Gabungkan Sort adalah algoritma pembagian-dan-penaklukan berdasarkan gagasan untuk memecah daftar menjadi beberapa sub-daftar sampai masing-masing sublist terdiri dari satu elemen dan menggabungkan sublist tersebut dengan cara yang menghasilkan daftar yang diurutkan.
Ide:
Bagilah daftar yang tidak disortir menjadi sublist, masing -masing berisi elemen. Ambil pasangan yang berdekatan dari dua daftar singleton dan gabungkan mereka untuk membentuk daftar 2 elemen. sekarang akan dikonversi menjadi daftar ukuran 2. Ulangi proses sampai satu daftar yang diurutkan yang diperoleh. Saat membandingkan dua sublist untuk penggabungan, elemen pertama dari kedua daftar dipertimbangkan. Saat menyortir urutan menaik, elemen yang memiliki nilai lebih rendah menjadi elemen baru dari daftar yang diurutkan. Prosedur ini diulangi sampai kedua sublist yang lebih kecil kosong dan sublist gabungan yang baru terdiri dari semua elemen kedua sublist.
Contoh:
Referensi: Hackerearth, GeeksForgeeks
Jenis cepat didasarkan pada pendekatan pembagian-dan-penakluk berdasarkan gagasan memilih satu elemen sebagai elemen pivot dan mempartisi array di sekitarnya sehingga: sisi kiri pivot berisi semua elemen yang kurang dari elemen pivot sisi kanan berisi semua elemen lebih besar dari pivot
Ini mengurangi kompleksitas ruang dan menghilangkan penggunaan array tambahan yang digunakan dalam jenis gabungan. Memilih pivot acak dalam array menghasilkan kompleksitas waktu yang lebih baik di sebagian besar kasus.
Contoh:
Referensi: Hackerearth, GeeksForgeeks
Algoritma Sort Pilihan mengurutkan array dengan berulang kali menemukan elemen minimum (mempertimbangkan urutan naik) dari bagian yang tidak disortir dan meletakkannya di awal. Algoritma ini memelihara dua subarray dalam array yang diberikan.
Dalam setiap iterasi dari jenis seleksi, elemen minimum (mempertimbangkan urutan naik) dari subarray yang tidak disortir dipilih dan dipindahkan ke subarray yang diurutkan.
Contoh:
Tumpukan adalah struktur data dinamis yang mengikuti prinsip terakhir dalam keluar pertama (LIFO). Item terakhir yang dimasukkan ke dalam tumpukan adalah yang pertama dihapus darinya.
Memasukkan dan menghapus elemen
Tumpukan memiliki batasan pada penyisipan dan penghapusan elemen. Elemen dapat dimasukkan atau dihapus hanya dari satu ujung tumpukan yaitu dari atas. Elemen di bagian atas disebut elemen atas. Operasi elemen memasukkan dan menghapus masing -masing disebut push () dan pop ().
Ketika elemen atas tumpukan dihapus, jika tumpukan tetap tidak kosong, maka elemen tepat di bawah elemen teratas sebelumnya menjadi elemen teratas baru dari tumpukan.
Misalnya, di tumpukan baki, jika Anda mengambil baki di bagian atas dan jangan menggantinya, maka baki kedua secara otomatis menjadi elemen teratas (baki) dari tumpukan itu.
Enqueue dan dequeue. Enqueue berarti menambah antrian. Dequeue berarti menghapus dari antrian.
Referensi: Hackerearth, GeeksForgeeks