1.Mudah
Bagaimana cara kerja selection sort?
- AMembagi array menjadi dua bagian lalu menggabungkannya
- BBerulang kali menukar elemen bersebelahan yang urutannya salah
- CBerulang kali mencari minimum dari bagian yang belum terurut lalu menukarnya ke depan
- DMenyisipkan setiap elemen ke bagian terurut yang terus bertambah dengan menggeser
2.Mudah
Berapa waktu eksekusi counting sort untuk n bilangan bulat dalam rentang 0 sampai k?
- AO(n log n)
- BO(n + k)
- CO(k log n)
- DO(n²)
3.Mudah
Suatu masalah biasanya disebut tractable jika:
- ADapat diselesaikan dalam waktu polinomial
- BDapat diselesaikan dalam waktu konstan
- CTidak memiliki solusi
- DHanya dapat diselesaikan dengan mencoba setiap kemungkinan
4.Sedang
Mengapa dynamic programming tidak benar-benar mempercepat merge sort?
- AMerge sort sudah O(n)
- BDynamic programming hanya bekerja pada masalah graf, bukan pada array
- CMerge sort tidak memiliki struktur rekursif
- DSubmasalahnya tidak tumpang tindih, sehingga tidak ada yang dapat dipakai ulang
5.Sedang
Berapa kompleksitas waktu teramortisasi (amortised) untuk menambahkan elemen ke array dinamis yang menggandakan kapasitasnya ketika penuh?
- AO(1)
- BO(n)
- CO(log n)
- DO(n²)
6.Sedang
Berapa banyak tingkat rekursi merge sort untuk array berisi n elemen?
- ASekitar √n
- BSekitar n / 2
- CSekitar n
- DSekitar log₂ n
7.Sulit
Algoritma manakah yang menemukan pohon rentang minimum dengan berulang kali menambahkan sisi termurah yang tidak membentuk siklus?
- AAlgoritma Dijkstra
- BAlgoritma Prim yang dimulai dari satu simpul
- CFloyd–Warshall
- DAlgoritma Kruskal
8.Sulit
Mengapa pencarian rata-rata pada tabel hash adalah O(1) tetapi kasus terburuknya O(n)?
- ABanyak kunci dapat bertabrakan (collision) di bucket yang sama
- BKunci harus diurutkan terlebih dahulu
- CAkses array memerlukan O(n)
- DFungsi hash lambat
Kunci jawaban
- 1. C · Berulang kali mencari minimum dari bagian yang belum terurut lalu menukarnya ke depan
- 2. B · O(n + k)
- 3. A · Dapat diselesaikan dalam waktu polinomial
- 4. D · Submasalahnya tidak tumpang tindih, sehingga tidak ada yang dapat dipakai ulang
- 5. A · O(1)
- 6. D · Sekitar log₂ n
- 7. D · Algoritma Kruskal
- 8. A · Banyak kunci dapat bertabrakan (collision) di bucket yang sama
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.