1.Mudah
Suatu masalah biasanya disebut tractable jika:
- AHanya dapat diselesaikan dengan mencoba setiap kemungkinan
- BTidak memiliki solusi
- CDapat diselesaikan dalam waktu konstan
- DDapat diselesaikan dalam waktu polinomial
2.Mudah
Strategi desain apa yang digunakan merge sort?
- ADivide and conquer (bagi dan taklukkan)
- BPilihan greedy
- CBrute force
- DDynamic programming
3.Mudah
Apa arti f(n) = Θ(g(n))?
- Af tumbuh benar-benar lebih cepat daripada g
- Bf tumbuh benar-benar lebih lambat daripada g
- Cf tumbuh dengan laju yang sama dengan g, dibatasi di atas dan di bawah oleh kelipatan konstan g
- Df selalu lebih kecil daripada g untuk setiap n, sehingga g membatasinya dari atas tetapi tidak pernah dari bawah
4.Sedang
Anda mengurutkan array berisi n elemen sekali, lalu menjawab k kueri keanggotaan dengan binary search. Berapa total biayanya?
- AO(n log n + k log n)
- BO(n + k)
- CO(k n log n)
- DO(nk)
5.Sedang
Berapa kompleksitas waktu mengalikan dua matriks n × n dengan triple loop standar?
- AO(n)
- BO(n³)
- CO(n² log n)
- DO(n²)
6.Sedang
Apakah benar mengatakan bahwa algoritma O(n²) juga O(n³)?
- ATidak, karena Big O harus selalu menyatakan laju pertumbuhan yang tepat dari fungsi itu
- BYa, tetapi hanya jika n lebih kecil dari 100
- CTidak, karena n³ lebih kecil daripada n² untuk n besar
- DYa, karena Big O adalah batas atas dan n² tidak tumbuh lebih cepat daripada n³
7.Sulit
Mengapa setiap pencarian berbasis perbandingan dalam array terurut memerlukan Ω(log n) perbandingan pada kasus terburuk?
- ABinary search adalah satu-satunya algoritma yang mungkin, dan memerlukan log₂ n perbandingan
- BSetiap perbandingan memerlukan waktu logaritmik
- CSetiap elemen harus dibandingkan setidaknya sekali
- DPohon keputusan dengan n kemungkinan hasil harus memiliki kedalaman setidaknya log₂ n
8.Sulit
Masalah penghentian (halting problem) menunjukkan bahwa:
- ASetiap program pada akhirnya akan berhenti
- BTidak ada algoritma yang dapat memutuskan untuk setiap program dan input apakah program tersebut akan berhenti
- CBeberapa program berjalan lebih cepat di komputer yang lebih cepat, sehingga berhenti atau tidaknya bergantung pada perangkat keras
- DLoop sebaiknya dihindari
Kunci jawaban
- 1. D · Dapat diselesaikan dalam waktu polinomial
- 2. A · Divide and conquer (bagi dan taklukkan)
- 3. C · f tumbuh dengan laju yang sama dengan g, dibatasi di atas dan di bawah oleh kelipatan konstan g
- 4. A · O(n log n + k log n)
- 5. B · O(n³)
- 6. D · Ya, karena Big O adalah batas atas dan n² tidak tumbuh lebih cepat daripada n³
- 7. D · Pohon keputusan dengan n kemungkinan hasil harus memiliki kedalaman setidaknya log₂ n
- 8. B · Tidak ada algoritma yang dapat memutuskan untuk setiap program dan input apakah program tersebut akan berhenti
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.