K1 · Modul 05
Stack, queue, dan deque
42 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Stack (masuk terakhir, keluar pertama), queue (masuk pertama, keluar pertama), dan deque (dua ujung) adalah janji operasi, bukan cara menyimpan; ketiganya menjanjikan O(1) per operasi.
list.pop(0)menggeser semua sisa elemen, jadi antrean berbasis itu Θ(n²) untuk n pesanan.- Antrean O(1) dibuat dengan list berantai (kepala dan ekor), array melingkar, atau dua tumpukan (O(1) amortisasi).
- Tumpukan memeriksa kurung seimbang (dibuktikan dengan invarian) dan menyimpan undo/redo; deque monoton menghitung maksimum jendela geser.
- Di kode sungguhan pakai
collections.deque, setelah tahu isinya.
Sebelum mulai
±4 jam.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: menjelaskan stack, queue, dan deque sebagai tipe data abstrak beserta janji kompleksitasnya; mengimplementasikannya dengan list, list berantai, dan array melingkar; membuktikan pemeriksa kurung seimbang dengan invarian; menganalisis antrean dari dua tumpukan secara amortisasi; memakai tumpukan untuk undo/redo dan ekspresi; memakai deque untuk jendela geser; serta memilih collections.deque dengan sadar.
Proyek: Kurir Makmur langkah 5: Antrean untuk pesanan dan Tumpukan untuk undo (kontrak Proyek Kurir §3).
Istilah di modul ini (14)
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.
- 26 contoh kode
- 10 berkas latihan + tes
- 1 berkas data
Lihat isi zip
- BACA-DULU.txt
- contoh_k1_05_26.py
- contoh_k1_05_56.py
- contoh_k1_05_110.py
- contoh_k1_05_143.py
- contoh_k1_05_325.py
- contoh_k1_05_440.py
- contoh_k1_05_795.py
- contoh_k1_05_1026.py
- contoh_k1_05_1051.py
- contoh_k1_05_1085.py
- contoh_k1_05_1133.py
- contoh_k1_05_1190.py
- contoh_k1_05_1297.py
- contoh_k1_05_1490.py
- contoh_k1_05_1521.py
- contoh_k1_05_1790.py
- contoh_k1_05_1825.py
- contoh_k1_05_1855.py
- contoh_k1_05_1883.py
- contoh_k1_05_1934.py
- contoh_k1_05_1960.py
- contoh_k1_05_2380.py
- contoh_k1_05_2641.py
- contoh_k1_05_2690.py
- contoh_k1_05_2756.py
- contoh_k1_05_2780.py
- test_k1_05_3.py
- test_k1_05_1.py
- test_k1_05_2.py
- test_k1_05_9.py
- test_k1_05_6.py
- test_k1_05_4.py
- test_k1_05_5.py
- test_k1_05_7.py
- test_k1_05_8.py
- test_k1_05_10.py
- peta.json