1.Mudah
Berapa kompleksitas waktu kasus terburuk insertion sort?
- AO(n log n)
- BO(n²)
- CO(log n)
- DO(n)
2.Mudah
Kelas kompleksitas manakah yang tumbuh paling cepat untuk n yang besar?
- AO(n²)
- BO(n³)
- CO(n log n)
- DO(2ⁿ)
3.Mudah
Berapa kompleksitas waktu binary search pada array yang sudah terurut?
- AO(n log n)
- BO(1)
- CO(log n)
- DO(n)
4.Sedang
Algoritma manakah yang menemukan lintasan terpendek dari satu sumber pada graf dengan bobot sisi non-negatif?
- AAlgoritma Kruskal
- BBellman–Ford diperlukan dalam semua kasus
- CDepth-first search (DFS)
- DAlgoritma Dijkstra
5.Sedang
Rekurens T(n) = 2T(n − 1) + O(1) menghasilkan apa?
- AO(n log n)
- BO(n²)
- CO(2ⁿ)
- DO(n)
6.Sedang
Pemrograman dinamis (dynamic programming) berguna ketika suatu masalah memiliki:
- ATidak ada submasalah sama sekali, sehingga dapat diselesaikan dalam satu langkah
- BSubmasalah yang tumpang tindih dan substruktur optimal
- CHanya input acak
- DSatu loop saja
7.Sulit
Masalah penghentian (halting problem) menunjukkan bahwa:
- ATidak ada algoritma yang dapat memutuskan untuk setiap program dan input apakah program tersebut akan berhenti
- BBeberapa program berjalan lebih cepat di komputer yang lebih cepat, sehingga berhenti atau tidaknya bergantung pada perangkat keras
- CSetiap program pada akhirnya akan berhenti
- DLoop sebaiknya dihindari
8.Sulit
Pernyataan mana tentang notasi little-o yang benar?
- A2n = o(n), karena 2n tumbuh lambat
- Bn = o(n²), tetapi n bukan o(n)
- Cn² = o(n)
- Dn = o(n), karena setiap fungsi adalah little-o dari dirinya sendiri
Kunci jawaban
- 1. B · O(n²)
- 2. D · O(2ⁿ)
- 3. C · O(log n)
- 4. D · Algoritma Dijkstra
- 5. C · O(2ⁿ)
- 6. B · Submasalah yang tumpang tindih dan substruktur optimal
- 7. A · Tidak ada algoritma yang dapat memutuskan untuk setiap program dan input apakah program tersebut akan berhenti
- 8. B · n = o(n²), tetapi n bukan o(n)
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.