1.Mudah
Berapa kompleksitas waktu binary search pada array yang sudah terurut?
- AO(n)
- BO(n log n)
- CO(log n)
- DO(1)
2.Mudah
Algoritma O(n) memerlukan 3 detik untuk n = 1 juta. Kira-kira berapa lama untuk n = 2 juta?
- A3 detik
- B12 detik
- C9 detik
- D6 detik
3.Mudah
Berapa waktu eksekusi counting sort untuk n bilangan bulat dalam rentang 0 sampai k?
- AO(k log n)
- BO(n log n)
- CO(n²)
- DO(n + k)
4.Sedang
Berapa kompleksitas waktu teramortisasi (amortised) untuk menambahkan elemen ke array dinamis yang menggandakan kapasitasnya ketika penuh?
- AO(n)
- BO(log n)
- CO(1)
- DO(n²)
5.Sedang
Mengapa dynamic programming tidak benar-benar mempercepat merge sort?
- AMerge sort tidak memiliki struktur rekursif
- BSubmasalahnya tidak tumpang tindih, sehingga tidak ada yang dapat dipakai ulang
- CDynamic programming hanya bekerja pada masalah graf, bukan pada array
- DMerge sort sudah O(n)
6.Sedang
Breadth-first search (BFS) pada graf tak berbobot menemukan:
- APohon rentang minimum
- BLintasan terpendek pada graf yang memiliki bobot sisi negatif
- CLintasan terpendek berdasarkan jumlah sisi dari simpul awal
- DUrutan topologis pada semua graf
7.Sulit
Masalah penghentian (halting problem) menunjukkan bahwa:
- ATidak ada algoritma yang dapat memutuskan untuk setiap program dan input apakah program tersebut akan berhenti
- BSetiap program pada akhirnya akan berhenti
- CBeberapa program berjalan lebih cepat di komputer yang lebih cepat, sehingga berhenti atau tidaknya bergantung pada perangkat keras
- DLoop sebaiknya dihindari
8.Sulit
Apakah 22n termasuk O(2ⁿ)?
- AYa, karena faktor konstan pada pangkat selalu diabaikan dalam Big O
- BTidak, karena 22n = 4ⁿ dan 4ⁿ / 2ⁿ = 2ⁿ tumbuh tanpa batas
- CTidak, karena 22n tumbuh lebih lambat daripada 2ⁿ
- DYa, karena keduanya eksponensial
Kunci jawaban
- 1. C · O(log n)
- 2. D · 6 detik
- 3. D · O(n + k)
- 4. C · O(1)
- 5. B · Submasalahnya tidak tumpang tindih, sehingga tidak ada yang dapat dipakai ulang
- 6. C · Lintasan terpendek berdasarkan jumlah sisi dari simpul awal
- 7. A · Tidak ada algoritma yang dapat memutuskan untuk setiap program dan input apakah program tersebut akan berhenti
- 8. B · Tidak, karena 22n = 4ⁿ dan 4ⁿ / 2ⁿ = 2ⁿ tumbuh tanpa batas
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.