1.Mudah
Berapa waktu eksekusi counting sort untuk n bilangan bulat dalam rentang 0 sampai k?
- AO(n log n)
- BO(k log n)
- CO(n + k)
- DO(n²)
2.Mudah
Apa yang dimaksud base case pada fungsi rekursif?
- AKasus dengan input terbesar, yang ditangani sebelum pemanggilan rekursif apa pun
- BPemanggilan yang memakai memori paling banyak
- CBaris pertama fungsi
- DKasus yang dijawab langsung tanpa melakukan pemanggilan rekursif lagi
3.Mudah
Algoritma O(n) memerlukan 3 detik untuk n = 1 juta. Kira-kira berapa lama untuk n = 2 juta?
- A6 detik
- B9 detik
- C12 detik
- D3 detik
4.Sedang
Berapa kompleksitas waktu algoritma dynamic programming standar untuk longest common subsequence dari string dengan panjang m dan n?
- AO(2m+n)
- BO(m + n)
- CO(mn log n)
- DO(mn)
5.Sedang
Bagaimana algoritma Prim membangun minimum spanning tree?
- AMengurutkan semua sisi berdasarkan bobot dan menambahkan masing-masing kecuali jika membentuk siklus dalam hutan
- BMenumbuhkan satu pohon dari simpul awal, setiap kali menambahkan sisi termurah yang keluar dari pohon
- CMenghapus sisi termahal sampai tidak ada siklus tersisa
- DMenjalankan breadth-first search dan menyimpan pohon BFS
6.Sedang
Pemrograman dinamis (dynamic programming) berguna ketika suatu masalah memiliki:
- AHanya input acak
- BTidak ada submasalah sama sekali, sehingga dapat diselesaikan dalam satu langkah
- CSubmasalah yang tumpang tindih dan substruktur optimal
- DSatu loop saja
7.Sulit
Rekurens T(n) = 2T(n/2) + n log n menghasilkan apa?
- AΘ(n²)
- BΘ(n log n)
- CΘ(n log² n)
- DΘ(n)
8.Sulit
Masalah knapsack 0/1 yang diselesaikan dengan pemrograman dinamis memerlukan waktu O(nW). Mengapa ini disebut pseudo-polinomial?
- AKarena algoritma ini hanya berlaku untuk W = 0
- BW adalah nilai numerik, sehingga waktunya eksponensial terhadap jumlah bit yang diperlukan untuk menuliskan W
- CKarena n selalu kecil
- DKarena algoritmanya bersifat acak (randomised) dan waktu eksekusinya berbeda untuk setiap input
Kunci jawaban
- 1. C · O(n + k)
- 2. D · Kasus yang dijawab langsung tanpa melakukan pemanggilan rekursif lagi
- 3. A · 6 detik
- 4. D · O(mn)
- 5. B · Menumbuhkan satu pohon dari simpul awal, setiap kali menambahkan sisi termurah yang keluar dari pohon
- 6. C · Submasalah yang tumpang tindih dan substruktur optimal
- 7. C · Θ(n log² n)
- 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.