K1 · Modul 08
Pengurutan efisien
46 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Bagi-dan-taklukkan: belah, selesaikan tiap bagian secara rekursif, satukan.
- Merge sort Θ(n log n) di semua kasus dan stabil bila penggabungan memakai
<=; quicksort cepat dalam praktik, tetapi pivot yang buruk memberi Θ(n²). - Setiap pengurutan berbasis perbandingan butuh Ω(n log n) perbandingan (pohon keputusan).
- Counting sort dan radix sort lolos dari batas itu karena tidak membandingkan, asalkan kuncinya terbatas.
sorted(Timsort) memanfaatkan run yang sudah urut: hampir n perbandingan untuk data yang hampir terurut.
Sebelum mulai
±4–5 jam.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: menulis merge sort stabil, membuktikannya dengan induksi, dan menurunkan Θ(n log n) dari rekurensi; menulis quicksort dan menghindari kasus terburuk Θ(n²); membuktikan bahwa pengurutan berbasis perbandingan butuh Ω(n log n) perbandingan; menulis counting sort dan radix sort; serta menjelaskan kenapa sorted sangat cepat untuk data yang hampir terurut.
Proyek: Kurir Makmur langkah 8: urutkan_gabung (kontrak Proyek Kurir §3), merge sort stabil dengan O(n log n) perbandingan.
Istilah di modul ini (36)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 30 contoh kode
- 9 berkas latihan + tes
- 1 berkas data
Lihat isi zip
- BACA-DULU.txt
- contoh_k1_08_26.py
- contoh_k1_08_49.py
- contoh_k1_08_140.py
- contoh_k1_08_176.py
- contoh_k1_08_211.py
- contoh_k1_08_248.py
- contoh_k1_08_293.py
- contoh_k1_08_363.py
- contoh_k1_08_842.py
- contoh_k1_08_930.py
- contoh_k1_08_962.py
- contoh_k1_08_1024.py
- contoh_k1_08_1059.py
- contoh_k1_08_1406.py
- contoh_k1_08_1606.py
- contoh_k1_08_1649.py
- contoh_k1_08_1684.py
- contoh_k1_08_1728.py
- contoh_k1_08_1784.py
- contoh_k1_08_1802.py
- contoh_k1_08_1845.py
- contoh_k1_08_1873.py
- contoh_k1_08_1903.py
- contoh_k1_08_2186.py
- contoh_k1_08_2266.py
- contoh_k1_08_2297.py
- contoh_k1_08_2459.py
- contoh_k1_08_2504.py
- contoh_k1_08_2554.py
- contoh_k1_08_2586.py
- test_k1_08_1.py
- test_k1_08_5.py
- test_k1_08_6.py
- test_k1_08_2.py
- test_k1_08_4.py
- test_k1_08_7.py
- test_k1_08_3.py
- test_k1_08_8.py
- test_k1_08_9.py
- peta.json