Lembaran kerja Algoritma & kerumitan dengan jawapan

Lembaran kerja Algoritma & kerumitan percuma untuk dicetak: 8 soalan dari mudah hingga tahap peperiksaan, dengan skema jawapan. Cetak atau simpan sebagai PDF.

Untuk pensyarah dan guru: percuma untuk dicetak, disalin dan digunakan di dalam kelas. Setiap lembaran kerja baharu mempunyai nilai baharu dan skema jawapannya sendiri. Pautan ke ExamProblems di halaman kursus anda amat dihargai.

Nama: ____________________   Tarikh: ____________

1.Mudah

Apakah algoritma kekerasan (brute force)?

  1. AYang mencuba semua calon penyelesaian yang mungkin
  2. BYang berjalan pada banyak pemproses
  3. CYang sentiasa menggunakan rekursi
  4. DYang meneka jawapan secara rawak
2.Mudah

Strategi reka bentuk manakah yang digunakan oleh isihan cantum?

  1. APilihan tamak
  2. BKekerasan (brute force)
  3. CPengaturcaraan dinamik
  4. DBahagi dan takluk
3.Mudah

Apakah kes asas bagi fungsi rekursif?

  1. ABaris pertama fungsi
  2. BKes yang dijawab terus tanpa membuat panggilan rekursif lain
  3. CPanggilan yang menggunakan paling banyak memori
  4. DKes dengan input terbesar, yang dikendalikan sebelum sebarang panggilan rekursif
4.Sederhana

Apakah kerumitan masa bagi: for i = 1 to n: for j = 1 to i: lakukan kerja O(1)?

  1. AO(n²)
  2. BO(n³)
  3. CO(n log n)
  4. DO(n)
5.Sederhana

Batas bawah bagi isihan berasaskan perbandingan dalam kes terburuk ialah:

  1. AΩ(n log n)
  2. BΩ(n²)
  3. CΩ(log n)
  4. DΩ(n)
6.Sederhana

Mengapakah banyak rutin isihan pustaka bertukar kepada isihan sisipan untuk subtatasusunan yang sangat kecil?

  1. AIsihan sisipan menggunakan memori lebih sedikit daripada mana-mana algoritma pengisihan lain pada input besar
  2. BAlgoritma rekursif tidak boleh mengendalikan tatasusunan di bawah 10 elemen
  3. CIsihan sisipan ialah O(n log n) dalam kes terburuk
  4. DIsihan sisipan mempunyai overhed yang rendah dan pantas pada input kecil atau hampir tersusun
7.Sukar

Pernyataan manakah tentang notasi o kecil yang betul?

  1. An = o(n²), tetapi n bukan o(n)
  2. Bn² = o(n)
  3. C2n = o(n), kerana 2n tumbuh perlahan
  4. Dn = o(n), kerana setiap fungsi ialah o kecil bagi dirinya sendiri
8.Sukar

Bagaimanakah algoritma Bellman–Ford mengesan kitaran berpemberat negatif yang boleh dicapai dari sumber?

  1. AIa menyemak sama ada mana-mana sisi mempunyai pemberat negatif
  2. BIa mengira kitaran dengan carian pertama dalam
  3. CSelepas V − 1 pusingan, ia menyemak sama ada mana-mana sisi masih boleh dilonggarkan
  4. DIa menjalankan algoritma Dijkstra dua kali dan membandingkan kedua-dua hasil jarak

Kunci jawapan

  1. 1. A · Yang mencuba semua calon penyelesaian yang mungkin
  2. 2. D · Bahagi dan takluk
  3. 3. B · Kes yang dijawab terus tanpa membuat panggilan rekursif lain
  4. 4. A · O(n²)
  5. 5. A · Ω(n log n)
  6. 6. D · Isihan sisipan mempunyai overhed yang rendah dan pantas pada input kecil atau hampir tersusun
  7. 7. A · n = o(n²), tetapi n bukan o(n)
  8. 8. C · Selepas V − 1 pusingan, ia menyemak sama ada mana-mana sisi masih boleh dilonggarkan

Penyelesaian langkah demi langkah yang lengkap: berlatih topik ini di examproblems.com.