1.Mudah
Manakah yang tumbuh paling lambat ketika n menjadi besar?
- AO(n)
- BO(n²)
- CO(log n)
- DO(n log n)
2.Mudah
Apa yang dimaksud dengan memoisasi?
- AMenulis komentar di samping setiap baris kode
- BMengubah rekursi menjadi loop yang setara secara otomatis sehingga call stack tidak diperlukan
- CMenyimpan hasil pemanggilan fungsi agar pemanggilan berulang dijawab dari memori
- DMembebaskan memori setelah fungsi selesai
3.Mudah
Apa tiga langkah algoritma divide and conquer?
- ATebak, periksa, ulangi
- BDivide, conquer, combine (bagi, taklukkan, gabungkan)
- CUrutkan, cari, kembalikan
- DBaca, hitung, tulis
4.Sedang
Berapa kompleksitas waktu teramortisasi (amortised) untuk menambahkan elemen ke array dinamis yang menggandakan kapasitasnya ketika penuh?
- AO(n)
- BO(1)
- CO(n²)
- DO(log n)
5.Sedang
Dalam array terurut, Anda mencari dua elemen yang jumlahnya sama dengan target dengan menggerakkan satu pointer dari masing-masing ujung ke dalam. Berapa kompleksitas waktunya?
- AO(n)
- BO(n log n)
- CO(n²)
- DO(log n)
6.Sedang
Pada activity selection problem, aturan greedy mana yang selalu menghasilkan jumlah maksimum aktivitas yang tidak saling tumpang tindih?
- APilih aktivitas yang selesai paling awal, lalu ulangi dengan aktivitas yang kompatibel
- BPilih aktivitas terpendek terlebih dahulu
- CPilih aktivitas yang dimulai paling awal
- DPilih aktivitas dengan tumpang tindih paling sedikit terlebih dahulu, lalu ulangi dengan aktivitas yang kompatibel
7.Sulit
Pernyataan manakah tentang P dan NP yang benar?
- ATelah dibuktikan bahwa P ≠ NP
- BMasalah NP tidak dapat diverifikasi dengan cepat
- CNP berarti "not polynomial"
- DSetiap masalah di P juga termasuk dalam NP
8.Sulit
Insertion sort berjalan dalam O(n) pada input terurut. Apakah ini bertentangan dengan batas bawah Ω(n log n) untuk pengurutan berbasis perbandingan?
- AYa, tetapi hanya untuk array yang lebih pendek dari 100
- BTidak, karena insertion sort bukan pengurutan berbasis perbandingan
- CYa, sehingga batas bawah itu salah
- DTidak, batas bawah itu berlaku untuk kasus terburuk atas semua input, bukan untuk setiap input
Kunci jawaban
- 1. C · O(log n)
- 2. C · Menyimpan hasil pemanggilan fungsi agar pemanggilan berulang dijawab dari memori
- 3. B · Divide, conquer, combine (bagi, taklukkan, gabungkan)
- 4. B · O(1)
- 5. A · O(n)
- 6. A · Pilih aktivitas yang selesai paling awal, lalu ulangi dengan aktivitas yang kompatibel
- 7. D · Setiap masalah di P juga termasuk dalam NP
- 8. D · Tidak, batas bawah itu berlaku untuk kasus terburuk atas semua input, bukan untuk setiap input
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.