1.Mudah
Masa larian manakah yang polinomial?
- AO(2ⁿ)
- BO(nⁿ)
- CO(n³)
- DO(n!)
2.Mudah
Sesuatu masalah biasanya dipanggil boleh dikendalikan (tractable) jika:
- AIa tidak mempunyai penyelesaian
- BIa boleh diselesaikan dalam masa malar
- CIa hanya boleh diselesaikan dengan mencuba setiap kemungkinan
- DIa boleh diselesaikan dalam masa polinomial
3.Mudah
Kelas kerumitan manakah yang tumbuh paling pantas untuk n yang besar?
- AO(n²)
- BO(2ⁿ)
- CO(n log n)
- DO(n³)
4.Sederhana
Dalam tatasusunan tersusun, anda mencari dua elemen yang jumlahnya sama dengan sasaran dengan menggerakkan satu penunjuk dari setiap hujung ke dalam. Apakah kerumitan masanya?
- AO(n)
- BO(n²)
- CO(n log n)
- DO(log n)
5.Sederhana
Pengaturcaraan dinamik berguna apabila sesuatu masalah mempunyai:
- ASatu gelung
- BHanya input rawak
- CTiada submasalah langsung, jadi ia boleh diselesaikan dalam satu langkah
- DSubmasalah bertindih dan substruktur optimum
6.Sederhana
Algoritma tamak (greedy):
- AMencuba setiap penyelesaian yang mungkin
- BHanya menggunakan rekursi
- CMembuat pilihan terbaik setempat pada setiap langkah
- DSentiasa memberikan penyelesaian optimum
7.Sukar
Apakah kerumitan masa bagi: for i = 1 to n: for (j = i; j ≤ n; j = j + i) lakukan kerja O(1)?
- AO(n √n)
- BO(n log n)
- CO(n)
- DO(n²)
8.Sukar
Apakah kos teramortisasi menokok pembilang binari, memandangkan satu tokokan boleh membalikkan banyak bit?
- AO(log n) bagi setiap tokokan
- BO(n) bagi setiap tokokan
- CO(1) bagi setiap tokokan
- DO(n log n) bagi setiap tokokan
Kunci jawapan
- 1. C · O(n³)
- 2. D · Ia boleh diselesaikan dalam masa polinomial
- 3. B · O(2ⁿ)
- 4. A · O(n)
- 5. D · Submasalah bertindih dan substruktur optimum
- 6. C · Membuat pilihan terbaik setempat pada setiap langkah
- 7. B · O(n log n)
- 8. C · O(1) bagi setiap tokokan
Penyelesaian langkah demi langkah yang lengkap: berlatih topik ini di examproblems.com.