1.Mudah
Bagaimana cara kerja selection sort?
- AMembagi array menjadi dua bagian lalu menggabungkannya
- BBerulang kali mencari minimum dari bagian yang belum terurut lalu menukarnya ke depan
- CMenyisipkan setiap elemen ke bagian terurut yang terus bertambah dengan menggeser
- DBerulang kali menukar elemen bersebelahan yang urutannya salah
2.Mudah
Waktu eksekusi suatu algoritma adalah O(n). Pertumbuhan ini disebut apa?
- AKonstan
- BKuadratik
- CLogaritmik
- DLinear
3.Mudah
Algoritma O(n) memerlukan 3 detik untuk n = 1 juta. Kira-kira berapa lama untuk n = 2 juta?
- A9 detik
- B6 detik
- C12 detik
- D3 detik
4.Sedang
Berapa banyak tingkat rekursi merge sort untuk array berisi n elemen?
- ASekitar n / 2
- BSekitar n
- CSekitar log₂ n
- DSekitar √n
5.Sedang
Algoritma manakah yang menemukan lintasan terpendek dari satu sumber pada graf dengan bobot sisi non-negatif?
- ADepth-first search (DFS)
- BAlgoritma Dijkstra
- CAlgoritma Kruskal
- DBellman–Ford diperlukan dalam semua kasus
6.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 log n)
- BO(log n)
- CO(n²)
- DO(n)
7.Sulit
Berapa kompleksitas waktu dari: for i = 1 to n: for (j = i; j ≤ n; j = j + i) lakukan kerja O(1)?
- AO(n)
- BO(n log n)
- CO(n √n)
- DO(n²)
8.Sulit
Teknik manakah yang memberikan waktu eksekusi harapan (expected) O(n log n) untuk quicksort pada input apa pun?
- AMemilih pivot secara acak seragam
- BMenggunakan rekursi hanya pada sisi kiri
- CSelalu memilih elemen pertama
- DMengurutkan input sebelum menjalankan quicksort
Kunci jawaban
- 1. B · Berulang kali mencari minimum dari bagian yang belum terurut lalu menukarnya ke depan
- 2. D · Linear
- 3. B · 6 detik
- 4. C · Sekitar log₂ n
- 5. B · Algoritma Dijkstra
- 6. D · O(n)
- 7. B · O(n log n)
- 8. A · Memilih pivot secara acak seragam
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.