1.Mudah
Berapa kompleksitas waktu binary search pada array yang sudah terurut?
- AO(log n)
- BO(n log n)
- CO(n)
- DO(1)
2.Mudah
Apa tiga langkah algoritma divide and conquer?
- AUrutkan, cari, kembalikan
- BTebak, periksa, ulangi
- CBaca, hitung, tulis
- DDivide, conquer, combine (bagi, taklukkan, gabungkan)
3.Mudah
Apa yang digambarkan oleh waktu eksekusi kasus terburuk suatu algoritma?
- AWaktu yang diperlukan pada komputer yang lambat
- BWaktu yang diharapkan pada input acak berukuran n
- CWaktu yang diperlukan pada input terkecil
- DWaktu maksimum yang diperlukan atas semua input berukuran n
4.Sedang
Berapa kompleksitas waktu algoritma dynamic programming standar untuk longest common subsequence dari string dengan panjang m dan n?
- AO(mn)
- BO(2m+n)
- CO(m + n)
- DO(mn log n)
5.Sedang
Mengapa dynamic programming tidak benar-benar mempercepat merge sort?
- ADynamic programming hanya bekerja pada masalah graf, bukan pada array
- BMerge sort tidak memiliki struktur rekursif
- CMerge sort sudah O(n)
- DSubmasalahnya tidak tumpang tindih, sehingga tidak ada yang dapat dipakai ulang
6.Sedang
Berapa banyak ruang stack yang dipakai fungsi faktorial rekursif sederhana fact(n) = n × fact(n − 1)?
- AO(n²)
- BO(1)
- CO(log n)
- DO(n)
7.Sulit
Untuk menunjukkan bahwa masalah baru X adalah NP-hard, apa yang harus Anda lakukan?
- AMenunjukkan bahwa X dapat diverifikasi dalam waktu polinomial
- BMereduksi masalah NP-hard yang sudah dikenal ke X dalam waktu polinomial
- CMenunjukkan bahwa X tidak memiliki algoritma polinomial untuk input kecil
- DMereduksi X ke masalah NP-hard yang sudah dikenal dalam waktu polinomial
8.Sulit
Masalah knapsack 0/1 yang diselesaikan dengan pemrograman dinamis memerlukan waktu O(nW). Mengapa ini disebut pseudo-polinomial?
- AKarena n selalu kecil
- BW adalah nilai numerik, sehingga waktunya eksponensial terhadap jumlah bit yang diperlukan untuk menuliskan W
- CKarena algoritmanya bersifat acak (randomised) dan waktu eksekusinya berbeda untuk setiap input
- DKarena algoritma ini hanya berlaku untuk W = 0
Kunci jawaban
- 1. A · O(log n)
- 2. D · Divide, conquer, combine (bagi, taklukkan, gabungkan)
- 3. D · Waktu maksimum yang diperlukan atas semua input berukuran n
- 4. A · O(mn)
- 5. D · Submasalahnya tidak tumpang tindih, sehingga tidak ada yang dapat dipakai ulang
- 6. D · O(n)
- 7. B · Mereduksi masalah NP-hard yang sudah dikenal ke X dalam waktu polinomial
- 8. B · W adalah nilai numerik, sehingga waktunya eksponensial terhadap jumlah bit yang diperlukan untuk menuliskan W
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.