1.Mudah
Apa arti f(n) = Θ(g(n))?
- Af tumbuh benar-benar lebih lambat daripada g
- Bf tumbuh dengan laju yang sama dengan g, dibatasi di atas dan di bawah oleh kelipatan konstan g
- Cf tumbuh benar-benar lebih cepat daripada g
- Df selalu lebih kecil daripada g untuk setiap n, sehingga g membatasinya dari atas tetapi tidak pernah dari bawah
2.Mudah
Sebuah loop dimulai dengan i = 1 dan menggandakan i setiap iterasi sampai i > n. Berapa kali loop itu berjalan?
- ASekitar log₂ n
- BSekitar n
- CSekitar n / 2
- DSekitar n²
3.Mudah
Berapa kompleksitas waktu untuk mencari nilai terbesar dalam array tidak terurut berisi n bilangan?
- AO(1)
- BO(n)
- CO(n log n)
- DO(log n)
4.Sedang
Dengan koin 1, 3, dan 4 serta jumlah 6, berapa koin yang dipakai metode greedy "koin terbesar dulu" dibandingkan solusi optimal?
- AGreedy memakai 3 koin; optimalnya 2
- BGreedy memakai 2 koin; optimalnya 2
- CGreedy memakai 3 koin; optimalnya 3
- DGreedy memakai 4 koin; optimalnya 3
5.Sedang
Kompleksitas waktu Fibonacci rekursif naif (fib(n) = fib(n−1) + fib(n−2)) adalah:
- ALinear
- BKonstan
- CLogaritmik
- DEksponensial
6.Sedang
Algoritma greedy:
- AMencoba setiap solusi yang mungkin
- BMengambil pilihan terbaik secara lokal pada setiap langkah
- CSelalu memberikan solusi optimal
- DHanya menggunakan rekursi
7.Sulit
Insertion sort berjalan dalam O(n) pada input terurut. Apakah ini bertentangan dengan batas bawah Ω(n log n) untuk pengurutan berbasis perbandingan?
- ATidak, karena insertion sort bukan pengurutan berbasis perbandingan
- BTidak, batas bawah itu berlaku untuk kasus terburuk atas semua input, bukan untuk setiap input
- CYa, tetapi hanya untuk array yang lebih pendek dari 100
- DYa, sehingga batas bawah itu salah
8.Sulit
Bagaimana algoritma Bellman–Ford mendeteksi siklus berbobot negatif yang dapat dicapai dari sumber?
- AAlgoritma memeriksa apakah ada sisi berbobot negatif
- BAlgoritma menjalankan Dijkstra dua kali dan membandingkan kedua hasil jaraknya
- CAlgoritma menghitung siklus dengan depth-first search
- DSetelah V − 1 putaran, algoritma memeriksa apakah masih ada sisi yang dapat direlaksasi
Kunci jawaban
- 1. B · f tumbuh dengan laju yang sama dengan g, dibatasi di atas dan di bawah oleh kelipatan konstan g
- 2. A · Sekitar log₂ n
- 3. B · O(n)
- 4. A · Greedy memakai 3 koin; optimalnya 2
- 5. D · Eksponensial
- 6. B · Mengambil pilihan terbaik secara lokal pada setiap langkah
- 7. B · Tidak, batas bawah itu berlaku untuk kasus terburuk atas semua input, bukan untuk setiap input
- 8. D · Setelah V − 1 putaran, algoritma memeriksa apakah masih ada sisi yang dapat direlaksasi
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.