1.Mudah
Strategi desain apa yang digunakan merge sort?
- ADivide and conquer (bagi dan taklukkan)
- BDynamic programming
- CBrute force
- DPilihan greedy
2.Mudah
Bagaimana cara kerja selection sort?
- ABerulang kali menukar elemen bersebelahan yang urutannya salah
- BMembagi array menjadi dua bagian lalu menggabungkannya
- CBerulang kali mencari minimum dari bagian yang belum terurut lalu menukarnya ke depan
- DMenyisipkan setiap elemen ke bagian terurut yang terus bertambah dengan menggeser
3.Mudah
Apa yang dimaksud dengan memoisasi?
- AMembebaskan memori setelah fungsi selesai
- BMengubah rekursi menjadi loop yang setara secara otomatis sehingga call stack tidak diperlukan
- CMenyimpan hasil pemanggilan fungsi agar pemanggilan berulang dijawab dari memori
- DMenulis komentar di samping setiap baris kode
4.Sedang
Pada activity selection problem, aturan greedy mana yang selalu menghasilkan jumlah maksimum aktivitas yang tidak saling tumpang tindih?
- APilih aktivitas terpendek terlebih dahulu
- BPilih aktivitas dengan tumpang tindih paling sedikit terlebih dahulu, lalu ulangi dengan aktivitas yang kompatibel
- CPilih aktivitas yang dimulai paling awal
- DPilih aktivitas yang selesai paling awal, lalu ulangi dengan aktivitas yang kompatibel
5.Sedang
Anda mengurutkan array berisi n elemen sekali, lalu menjawab k kueri keanggotaan dengan binary search. Berapa total biayanya?
- AO(nk)
- BO(n + k)
- CO(n log n + k log n)
- DO(k n log n)
6.Sedang
Apa yang diukur oleh analisis amortisasi?
- ABiaya algoritma pada input terbaik
- BBiaya yang diharapkan atas input acak
- CBiaya rata-rata per operasi atas urutan operasi kasus terburuk
- DBiaya satu operasi yang paling mahal di mana pun dalam urutan itu
7.Sulit
Bagaimana travelling salesman problem diklasifikasikan?
- AVersi keputusannya di P tetapi versi optimasinya NP-complete
- BMasalah ini undecidable
- CVersi keputusannya NP-complete dan versi optimasinya NP-hard
- DMasalah ini berada di P karena algoritma Dijkstra menyelesaikannya dengan mengunjungi setiap kota satu kali
8.Sulit
Apa akibatnya jika seseorang menemukan algoritma waktu polinomial untuk satu masalah NP-complete?
- AHanya masalah itu yang pindah ke P
- BSemua algoritma berwaktu eksponensial seketika berjalan dalam waktu linear
- CHalting problem menjadi decidable
- DSetiap masalah di NP dapat diselesaikan dalam waktu polinomial, sehingga P = NP
Kunci jawaban
- 1. A · Divide and conquer (bagi dan taklukkan)
- 2. C · Berulang kali mencari minimum dari bagian yang belum terurut lalu menukarnya ke depan
- 3. C · Menyimpan hasil pemanggilan fungsi agar pemanggilan berulang dijawab dari memori
- 4. D · Pilih aktivitas yang selesai paling awal, lalu ulangi dengan aktivitas yang kompatibel
- 5. C · O(n log n + k log n)
- 6. C · Biaya rata-rata per operasi atas urutan operasi kasus terburuk
- 7. C · Versi keputusannya NP-complete dan versi optimasinya NP-hard
- 8. D · Setiap masalah di NP dapat diselesaikan dalam waktu polinomial, sehingga P = NP
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.