Asas Sains Komputer: pek ulang kaji kilat

Lembaran formula, langkah kaedah utama untuk setiap topik dan 20 soalan latihan, dengan penyelesaian penuh di bahagian belakang.

Soalan baharuKembali ke kursus

Dalam tetingkap cetak, pilih “Simpan sebagai PDF” untuk menyimpan salinan pada peranti anda.

1Formula dan kaedah

Sistem nombor

Nilai kedudukan
perduaan 2k, oktal 8k, heks 16k
Kepada perpuluhan
Σ dk·bk
Daripada perpuluhan
bahagi dengan asas, baca baki dari bawah ke atas
Heks ↔ perduaan
satu digit heks = 4 bit
Pelengkap dua
songsangkan bit dan tambah 1

Logik proposisi & pembuktian

Baris jadual kebenaran
2ⁿ
Implikasi
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
Implikasi dinafikan
¬(p → q) ≡ p ∧ ¬q
Dwisyarat
p ↔ q ≡ (p → q) ∧ (q → p)
De Morgan
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
Hukum agihan
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Pengkuantiti dinafikan
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
Modus ponens, modus tollens
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

Kaedah

  1. Kira bilangan pemboleh ubah yang berbeza: jadual kebenaran mempunyai 2ⁿ baris, bermula dengan kesemuanya 1.
  2. Beri setiap subformula lajurnya sendiri dan isi lajur-lajur itu dari dalam ke luar.
  3. Gunakan peraturan setiap penghubung: → hanya 0 bagi 1 → 0, ↔ ialah 1 apabila kedua-dua belah sepadan.
  4. Untuk kesetaraan, bandingkan lajur akhir baris demi baris; untuk hujah, lihat hanya baris yang setiap premisnya 1.
  5. Untuk menafikan pernyataan berpengkuantiti, alihkan ¬ ke dalam, tukar ∀ dan ∃, dan nafikan formula di dalamnya.

Logik digital: get, peta K & flip-flop

Get asas
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Peraturan Boolean
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Susunan peta Karnaugh
00, 01, 11, 10 (Gray code)
Kumpulan 2ᵏ sel
kehilangan k pemboleh ubah
Multipleks 4-ke-1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Flip-flop
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Pembilang
n-bit: 2ⁿ keadaan; mod-N: n terkecil dengan 2ⁿ ≥ N; fout = fclk/N
Pembilang riak
fmax = 1/(n·tpd)
Pembilang gelang dan Johnson
n dan 2n keadaan

Kaedah

  1. Untuk litar, bekerja dari input ke output satu get pada satu masa dan tulis nilai pada setiap wayar, atau tulis ungkapannya dan isi jadual kebenaran.
  2. Untuk pemudahan, letakkan 1 (dan tidak peduli sebagai X) ke dalam peta Karnaugh dengan baris dan lajur kod Gray: 00, 01, 11, 10.
  3. Liputi 1 dengan kumpulan sesedikit dan sebesar mungkin yang berisi 1, 2, 4, 8 atau 16 sel, menyambung melepasi tepi; setiap kumpulan ialah satu sebutan hasil darab yang terdiri daripada pemboleh ubah yang kekal malar. Kumpulkan 0 untuk bentuk POS.
  4. Untuk flip-flop dan pembilang, baca input pada setiap pinggir jam yang aktif, tulis keadaan selepas setiap pinggir, dan ingat bahawa pembilang n-bit berpusing semula selepas 2ⁿ keadaan.

Teori nombor & aritmetik modulo

Pembahagian dengan baki
a = q·n + r, 0 ≤ r < n
Euclid
gcd(a, b) = gcd(b, a mod b)
Gandaan sepunya terkecil
lcm(a, b) = a·b/gcd(a, b)
Songsangan
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Kongruen linear
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Fungsi totien Euler
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Kaedah

  1. Kurangkan setiap nombor modulo n dahulu; baki terletak antara 0 dengan n − 1.
  2. Untuk gcd, bahagi berulang kali dengan algoritma Euclid; baki bukan sifar yang terakhir ialah gcd.
  3. Untuk songsangan, jalankan algoritma lanjutan dan simpan pekali a; tambah n jika ia negatif.
  4. Selesaikan a·x ≡ b dengan mendarab dengan a⁻¹; gabungkan dua kongruen dengan menulis x = r₁ + m₁k.
  5. Untuk kuasa, tulis eksponen dalam perduaan dan kuasa duakan berulang kali; dalam RSA, d = e⁻¹ mod φ(n) dengan φ(n) = (p − 1)(q − 1).

Teori graf

Lema jabat tangan
Σ deg(v) = 2|E|
Graf lengkap
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Graf sekata
|E| = n·k/2
Pokok dan hutan
|E| = n − 1, |E| = n − c
Daun sesebuah pokok
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
litar: semua darjah genap; laluan: tepat 2 darjah ganjil
Litar Hamilton dalam Kn
(n − 1)!/2
Kemas kini Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Jalan sepanjang L
(Mᴸ)ij

Kaedah

  1. Tulis darjah setiap bucu; jumlah darjah ialah dua kali bilangan sisi.
  2. Untuk soalan Euler, semak bahawa graf itu bersambung dan kira bucu yang berdarjah ganjil.
  3. Untuk pokok, gunakan n − 1 sisi dan lema jabat tangan.
  4. Untuk Dijkstra, simpan jadual jarak sementara dan tetapkan bucu tidak tetap yang paling kecil dalam setiap pusingan.
  5. Untuk pokok rentang minimum, isih sisi mengikut berat dan langkau setiap sisi yang menutup satu kitaran (Kruskal), atau tumbuhkan satu pokok daripada bucu permulaan (Prim).

Subnet IPv4

Hos bagi setiap subnet
2(32 − prefix) − 2 (/31: 2, /32: 1)
Saiz blok
256 − (mask octet)
Alamat rangkaian
IP AND topeng
Alamat siaran
IP OR (NOT mask): semua bit hos ditetapkan kepada 1
Subnet daripada n bit yang dipinjam
2n

2Soalan latihan

1.Sistem nomborSederhana
Pelengkap dua 8-bit0−12806403201608040201

Tetapkan bit supaya ia menyimpan −60 dalam pelengkap dua 8-bit. Dibaca sebagai nombor tanpa tanda, apakah nilai corak U?

N = −608 bit
U =
2.Sistem nomborSukar
2638 kod, b = ? bit?2ᵇ⁻¹…?4?2?1

Satu sistem mesti memberikan setiap satu daripada 2638 item kod perduaan tersendiri dengan panjang yang sama. Apakah bilangan bit terkecil b yang diperlukan?

2638
b = bit
3.Logik proposisi & pembuktianSederhana
tautologipercanggahankontingensi

Adakah ¬(r ∧ q) ↔ (¬r ∨ ¬q) tautologi, percanggahan atau kontingensi? Klik jawapan anda.

¬(r ∧ q) ↔ (¬r ∨ ¬q)
  1. 1tautologi
  2. 2percanggahan
  3. 3kontingensi
4.Logik proposisi & pembuktianSukar
∃x (P(x) → ∀y ¬R(x, y))∃x (¬P(x) ∧ ∃y R(x, y))∀x (P(x) ∧ ∀y ¬R(x, y))∃x (P(x) ∧ ∀y ¬R(x, y))

Pernyataan manakah yang setara dengan ¬∀x (P(x) → ∃y R(x, y)), dengan penafian dialihkan sepenuhnya ke dalam? Klik pernyataan itu.

¬∀x (P(x) → ∃y R(x, y))
  1. 1∃x (P(x) → ∀y ¬R(x, y))
  2. 2∃x (¬P(x) ∧ ∃y R(x, y))
  3. 3∀x (P(x) ∧ ∀y ¬R(x, y))
  4. 4∃x (P(x) ∧ ∀y ¬R(x, y))
5.Logik digital: get, peta K & flip-flopSederhana
ABCD000111100001111010110302040507161121130150140809111110

Gunakan peta Karnaugh untuk mencari bentuk hasil tambah hasil darab (SOP) minimum bagi F(A, B, C, D) = Σm(0, 1, 6, 10, 11, 12, 13). Berapa banyak sebutan hasil darab N yang ada padanya?

F(A, B, C, D) = Σm(0, 1, 6, 10, 11, 12, 13)
N =
6.Logik digital: get, peta K & flip-flopSukar
CLKT1234567

Flip-flop T dicetus pinggir positif bermula dengan Q = 0 dan menerima input yang ditunjukkan. Klik pinggir jam pertama yang Q-nya berubah daripada 1 kembali kepada 0.

Q₀ = 0T
  1. 1pinggir jam 1
  2. 2pinggir jam 2
  3. 3pinggir jam 3
  4. 4pinggir jam 4
  5. 5pinggir jam 5
  6. 6pinggir jam 6
  7. 7pinggir jam 7
7.Teori nombor & aritmetik moduloSederhana

Selesaikan 68x ≡ 12 (mod 73). Beri penyelesaian x dengan 0 < x < 73.

68x ≡ 12 (mod 73)
x =
8.Teori nombor & aritmetik moduloSukar
mc = me​ mod n95m = cd​ mod n?(n, e) = (341, 7)d

Kunci RSA menggunakan p = 11, q = 31 dan e = 7. Nyahsulit teks sulit c = 95: cari mesej m.

p = 11q = 31e = 7c = 95
m =
9.Algoritma & kerumitanSederhana

Apakah kerumitan masa kes terburuk isihan pantas?

  1. AO(n²)
  2. BO(n log n)
  3. CO(log n)
  4. DO(n)
10.Algoritma & kerumitanSukar

Pernyataan manakah tentang memilih elemen terkecil ke-k dalam tatasusunan tidak tersusun yang betul?

  1. APemilihan sentiasa memerlukan Ω(n log n) kerana ia memerlukan pengisihan
  2. BQuickselect berjalan dalam O(log n) kes terburuk, kerana ia berekursi pada satu sebelah pangsi sahaja
  3. CPemilihan hanya mungkin dalam O(n²)
  4. DQuickselect berjalan dalam O(n) dijangka, dan median-bagi-median menjamin O(n) kes terburuk
11.Struktur dataSederhana

Matriks bersebelahan bagi graf dengan V bucu menggunakan berapa banyak memori?

  1. AO(V + E)
  2. BO(log V)
  3. CO(V²)
  4. DO(E)
12.Struktur dataSukar

Masalah penyiasatan linear manakah yang terutamanya dikurangkan oleh pencincangan berganda?

  1. AKeperluan untuk fungsi cincang
  2. BPengelompokan primer, di mana larian panjang slot yang diduduki terbentuk
  3. CKeperluan untuk menyimpan kunci dalam jadual
  4. DKos O(n) untuk membaca nilai sesuatu kunci
13.Teori grafSederhana

Berapa banyak litar Hamilton H yang berbeza pada graf lengkap K6? Litar yang hanya berbeza pada bucu permulaan atau arah dikira sama.

K6
H =
14.Teori grafSukar
18664872ABCDEF

Gunakan algoritma Dijkstra untuk mencari panjang d(C) laluan terpendek dari A ke C dalam graf berpemberat.

mula: Aakhir: C
d(C) =
15.Pangkalan data & SQLSederhana

Pertanyaan manakah yang menyenaraikan pelanggan yang tidak pernah membuat pesanan?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
16.Pangkalan data & SQLSukar

Pertanyaan FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' secara tidak dijangka menggugurkan pelanggan tanpa pesanan. Mengapa?

  1. ALEFT JOIN tidak pernah mengekalkan baris tidak sepadan
  2. BSyarat WHERE pada o menolak baris berisi NULL, menjadikannya cantuman dalam (inner join)
  3. CCantuman patut menggunakan USING dan bukan ON
  4. Dstatus ialah perkataan terpelihara
17.Rangkaian komputerSederhana

Manakah antara yang berikut ialah julat alamat IPv4 persendirian?

  1. A8.8.8.0/24
  2. B192.168.0.0/16
  3. C200.1.1.0/24
  4. D100.0.0.0/8
18.Rangkaian komputerSukar

Apakah yang dilakukan BGP terutamanya di internet?

  1. AMenyelesaikan nama kepada alamat
  2. BMenyulitkan data antara penghala
  3. CBertukar maklumat penghalaan antara sistem autonomi
  4. DMenetapkan alamat IP kepada pengguna rumah melalui penyedia internet mereka
19.Subnet IPv4Sederhana
255.255.255.24811111111111111111111111111111000bit rangkaianbit hos

Satu subnet menggunakan topeng 255.255.255.248. Berapakah bilangan alamat hos H yang boleh digunakan?

255.255.255.248
H =
20.Subnet IPv4Sukar
oktet terakhir = 160112806413201608040201rangkaianhos

Sebuah hos mempunyai alamat 10.20.14.160/27. Apakah oktet keempat x bagi alamat rangkaiannya?

10.20.14.160/27
x =

3Larutan

1.Sistem nombor

Jawapan: U = 196

Menetapkan bit: setiap bit bernilai kuasa dua (128, 64, …, 1). Satu digit heks tepat empat bit, dan dalam pelengkap dua 8-bit bit paling kiri bernilai −128. Operasi bitwise bekerja pada setiap kedudukan bit secara berasingan.

Songsang dan tambah satu

60 = 0011 1100
disongsangkan: 1100 0011
+1 → 1100 0100

Baca sebagai tanpa tanda

1100 0100₂ = 256 − 60 = 196

Jawapan

U = 196
2.Sistem nombor

Jawapan: b = 12 bit

Sistem nombor kedudukan: setiap digit bernilai nilainya didarab kuasa asas. Dalam perduaan, kedudukan bernilai 1, 2, 4, 8, 16, …; dalam heksadesimal 1, 16, 256, …, dengan A–F mewakili 10–15. Dalam pelengkap dua 8-bit, bit paling kiri bernilai −128 dan bukannya +128, begitulah nombor negatif disimpan.

Kuasa dua

211 = 2048 < 2638
212 = 4096 ≥ 2638

Jawapan

b = 12
3.Logik proposisi & pembuktian

Jawapan: tautologi

Kesetaraan logik: dua formula adalah setara (≡) apabila ia mempunyai nilai yang sama dalam setiap baris jadual kebenaran. Tautologi ialah 1 dalam setiap baris, percanggahan ialah 0 dalam setiap baris, dan kontingensi bukan kedua-duanya. Hukum yang berguna: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b dan ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (kontrapositif); ¬(a → b) ≡ a ∧ ¬b; dan hukum agihan, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).

Jadual kebenaran baris demi baris

q = 1, r = 1: r ∧ q = 1, ¬(r ∧ q) = 0, ¬r = 0, ¬q = 0, ¬r ∨ ¬q = 0, ¬(r ∧ q) ↔ (¬r ∨ ¬q) = 1
q = 1, r = 0: r ∧ q = 0, ¬(r ∧ q) = 1, ¬r = 1, ¬q = 0, ¬r ∨ ¬q = 1, ¬(r ∧ q) ↔ (¬r ∨ ¬q) = 1
q = 0, r = 1: r ∧ q = 0, ¬(r ∧ q) = 1, ¬r = 0, ¬q = 1, ¬r ∨ ¬q = 1, ¬(r ∧ q) ↔ (¬r ∨ ¬q) = 1
q = 0, r = 0: r ∧ q = 0, ¬(r ∧ q) = 1, ¬r = 1, ¬q = 1, ¬r ∨ ¬q = 1, ¬(r ∧ q) ↔ (¬r ∨ ¬q) = 1

Kelaskan

¬(r ∧ q) ↔ (¬r ∨ ¬q): 1, 1, 1, 1
1 dalam setiap baris: tautologi.

Jawapan

tautologi
4.Logik proposisi & pembuktian

Jawapan: ∃x (P(x) ∧ ∀y ¬R(x, y))

Pengkuantiti dan hujah: ¬∀x P(x) ≡ ∃x ¬P(x) dan ¬∃x P(x) ≡ ∀x ¬P(x). Alihkan penafian ke dalam, tukar setiap pengkuantiti yang dilaluinya, dan nafikan formula di dalam dengan hukum proposisi, seperti ¬(a → b) ≡ a ∧ ¬b. Hujah adalah sah apabila kesimpulan ialah 1 dalam setiap baris yang semua premisnya 1. Satu baris dengan premis benar dan kesimpulan palsu ialah contoh penyangkal dan menunjukkan hujah itu tidak sah.

Alihkan penafian ke dalam

¬∀x (P(x) → ∃y R(x, y)) ≡ ∃x (P(x) ∧ ∀y ¬R(x, y))

Jawapan

∃x (P(x) ∧ ∀y ¬R(x, y))

Pilihan lain sama ada mengekalkan pengkuantiti tanpa perubahan, mengubah susunan pengkuantiti, atau menafikan formula dalam dengan salah.

5.Logik digital: get, peta K & flip-flop

Jawapan: N = 4

Peta Karnaugh: sel disusun dalam kod Gray (00, 01, 11, 10), maka sel berjiran, termasuk yang merentasi tepi, berbeza pada tepat satu pemboleh ubah. Kumpulkan 1 dalam segi empat tepat berisi 1, 2, 4, 8 atau 16 sel, sebesar mungkin dan sesedikit mungkin, sehingga setiap 1 diliputi. Setiap kumpulan ialah satu sebutan hasil darab: pemboleh ubah yang kekal malar di dalamnya. Kumpulan 2ᵏ sel kehilangan k pemboleh ubah. Tidak peduli (X) boleh digunakan untuk membesarkan kumpulan tetapi tidak perlu diliputi. Mengumpulkan 0 pula memberi bentuk POS minimum.

ABCD000111100001111010110302040507161121130150140809111110

Kumpulkan 1

Setiap kumpulan ialah segi empat tepat 2ᵏ sel; sel tepi berjiran dengan sel pada tepi bertentangan.

A′B′C′
AB′C
ABC′
A′BCD′

Bentuk SOP minimum

F = A′B′C′ + AB′C + ABC′ + A′BCD′
N = 4

Jawapan

N = 4
6.Logik digital: get, peta K & flip-flop

Jawapan: pinggir jam 6

Flip-flop dan pembilang: flip-flop hanya berubah pada pinggir jam yang aktif. D menyalin inputnya (Q⁺ = D); T bertukar keadaan apabila T = 1; JK kekal untuk 00, set semula untuk 01, set untuk 10 dan bertukar keadaan untuk 11. Pembilang perduaan n-bit mempunyai 2ⁿ keadaan dan mengira modulo 2ⁿ; pembilang mod-N mengira 0, 1, …, N − 1 dan kembali ke 0, dan memerlukan flip-flop sebanyak n terkecil dengan 2ⁿ ≥ N. Setiap peringkat pembilang riak membahagi dua frekuensi, maka output terakhir pembilang mod-N berjalan pada fclk/N. Pembilang Johnson dengan n flip-flop mempunyai 2n keadaan, pembilang gelang n.

Q selepas setiap pinggir

Flip-flop T bertukar keadaan pada setiap pinggir menaik dengan T = 1 dan kekal dengan T = 0.

1: T = 0 → Q = 0
2: T = 0 → Q = 0
3: T = 1 → Q = 1
4: T = 0 → Q = 1
5: T = 0 → Q = 1
6: T = 1 → Q = 0
7: T = 0 → Q = 0

Perubahan pertama daripada 1 kepada 0

pinggir jam 6

Jawapan

pinggir jam 6
7.Teori nombor & aritmetik modulo

Jawapan: x = 56

Songsangan dan kongruen: a mempunyai songsangan modulo n tepat apabila gcd(a, n) = 1. Algoritma Euclid lanjutan menulis 1 = s·n + t·a, dan kemudian a⁻¹ ≡ t (mod n). Kongruen a·x ≡ b (mod n) dengan gcd(a, n) = 1 mempunyai penyelesaian x ≡ a⁻¹·b. Dua kongruen x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂) dengan modulus perdana relatif mempunyai satu penyelesaian modulo m₁·m₂ (teorem baki Cina). φ(n) Euler mengira nombor dari 1 hingga n yang perdana relatif dengan n: φ(n) = n·∏(1 − 1/p).

Songsangan 68

r = 73, t = 0
r = 68, q = 1, t = 1
r = 5, q = 13, t = −1
r = 3, q = 1, t = 14
r = 2, q = 1, t = −15
r = 1, q = 2, t = 29
68−1 ≡ 29 (mod 73)

Selesaikan

x ≡ 29·12 = 348 ≡ 56 (mod 73)
semakan: 68·56 = 3808 ≡ 12 (mod 73)

Jawapan

x = 56
8.Teori nombor & aritmetik modulo

Jawapan: m = 101

Kuasa modular dan RSA: hitung aᵏ mod n dengan kuasa dua berulang: tulis k dalam perduaan, kuasa duakan, kurangkan selepas setiap langkah dan darabkan kuasa yang bitnya 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) untuk nombor perdana p yang tidak membahagi a, maka eksponen boleh dikurangkan modulo p − 1. RSA: pilih nombor perdana p dan q, n = p·q dan φ(n) = (p − 1)(q − 1); eksponen awam e perdana relatif dengan φ(n), dan eksponen persendirian ialah d = e⁻¹ mod φ(n). Sulitkan dengan c = mᵉ mod n dan nyahsulit dengan m = cᵈ mod n.

Eksponen persendirian

n = 341, φ(n) = 300
d = 7−1 mod 300 = 43

Nyahsulit dengan kuasa dua berulang

43 = 32 + 8 + 2 + 1
951 ≡ 95 (mod 341)
952 ≡ 159 (mod 341)
954 ≡ 47 (mod 341)
958 ≡ 163 (mod 341)
9516 ≡ 312 (mod 341)
9532 ≡ 159 (mod 341)
9543 ≡ 95·159·163·159 ≡ 101 (mod 341)

Mesej

m = 101
semakan: 1017 mod 341 = 95

Jawapan

m = 101
9.Algoritma & kerumitan

Jawapan: A · O(n²)

Mengapa ini jawapannya

Dengan pangsi yang sentiasa buruk (cth. input yang sudah tersusun dan pangsi elemen pertama) pemetakan tidak seimbang, memberikan O(n²). Kes purata ialah O(n log n).

Jawapan

A · O(n²)
10.Algoritma & kerumitan

Jawapan: D · Quickselect berjalan dalam O(n) dijangka, dan median-bagi-median menjamin O(n) kes terburuk

Mengapa ini jawapannya

Kerja dijangka quickselect ialah n + n/2 + n/4 + ... = O(n) dengan pangsi rawak; memilih pangsi sebagai median-bagi-median menjadikan kes terburuk linear.

Jawapan

D · Quickselect berjalan dalam O(n) dijangka, dan median-bagi-median menjamin O(n) kes terburuk
11.Struktur data

Jawapan: C · O(V²)

Mengapa ini jawapannya

Matriks bersebelahan menyimpan V × V entri, cekap untuk graf padat; senarai bersebelahan menggunakan O(V + E), lebih baik untuk graf jarang.

Jawapan

C · O(V²)
12.Struktur data

Jawapan: B · Pengelompokan primer, di mana larian panjang slot yang diduduki terbentuk

Mengapa ini jawapannya

Penyiasatan linear melangkah sebanyak 1, jadi larian yang diduduki membesar dan bercantum; pencincangan berganda menggunakan cincang kedua untuk saiz langkah supaya kunci berbeza menyiasat jujukan berbeza.

Jawapan

B · Pengelompokan primer, di mana larian panjang slot yang diduduki terbentuk
13.Teori graf

Jawapan: H = 60

Euler, Hamilton dan pokok: graf bersambung mempunyai litar Euler (setiap sisi sekali, kembali ke permulaan) apabila setiap bucu berdarjah genap, dan laluan Euler yang bukan litar apabila tepat dua bucu berdarjah ganjil; laluan itu kemudian bermula dari satu bucu ganjil ke bucu ganjil yang lain. Litar Hamilton melawat setiap bucu sekali; Kn mempunyai (n − 1)!/2 daripadanya. Pokok pada n bucu mempunyai n − 1 sisi, dan graf bersambung dengan m sisi mengekalkan pokok rentang selepas membuang m − n + 1 sisi.

Kira

H = (6 − 1)!/2 = 120/2 = 60

Jawapan

H = 60
14.Teori graf

Jawapan: d(C) = 7

Laluan terpendek dan pokok rentang: algoritma Dijkstra menetapkan satu bucu setiap pusingan: bucu tidak tetap yang berjarak sementara paling kecil. Jaraknya kemudian muktamad, dan setiap jiran v mendapat d(v) = min(d(v), d(u) + w(u, v)). Algoritma Kruskal membina pokok rentang minimum dengan mengambil sisi dari ringan ke berat dan melangkau sebarang sisi yang akan menutup kitaran; algoritma Prim menumbuhkan satu pokok daripada bucu permulaan dengan sentiasa menambah sisi teringan yang keluar daripadanya. Pokok rentang n bucu mempunyai n − 1 sisi.

Dijkstra pusingan demi pusingan

Setiap baris: bucu yang ditetapkan, jarak muktamadnya, dan jiran yang jaraknya bertambah baik.

A (0): B: 1, C: 8
B (1): C: 7, D: 7, E: 3
E (3)
C (7)
D (7): F: 14
F (14)

Laluan terpendek

A → B → C
d(C) = 7

Jawapan

d(C) = 7
15.Pangkalan data & SQL

Jawapan: C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL

Mengapa ini jawapannya

Left join mengekalkan semua pelanggan dan mengisi lajur pesanan dengan NULL apabila tiada padanan; IS NULL kemudian memilih tepat pelanggan tersebut.

Jawapan

C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
16.Pangkalan data & SQL

Jawapan: B · Syarat WHERE pada o menolak baris berisi NULL, menjadikannya cantuman dalam (inner join)

Mengapa ini jawapannya

Baris tidak sepadan mempunyai o.status NULL, maka ujian WHERE bukan TRUE; memindahkan syarat ke dalam klausa ON mengekalkan setiap pelanggan.

Jawapan

B · Syarat WHERE pada o menolak baris berisi NULL, menjadikannya cantuman dalam (inner join)
17.Rangkaian komputer

Jawapan: B · 192.168.0.0/16

Mengapa ini jawapannya

Julat persendirian ialah 10.0.0.0/8, 172.16.0.0/12 dan 192.168.0.0/16; ia tidak dihalakan di internet awam.

Jawapan

B · 192.168.0.0/16
18.Rangkaian komputer

Jawapan: C · Bertukar maklumat penghalaan antara sistem autonomi

Mengapa ini jawapannya

BGP ialah protokol penghalaan antara domain; sistem autonomi mengiklankan awalan yang boleh dicapai dan memilih laluan berdasarkan dasar.

Jawapan

C · Bertukar maklumat penghalaan antara sistem autonomi
19.Subnet IPv4

Jawapan: H = 6

IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).

Panjang awalan

255.255.255.248 = /29

Hos boleh guna

23 − 2 = 6

Jawapan

H = 6
20.Subnet IPv4

Jawapan: x = 160

Subnet IPv4: alamat mempunyai 32 bit. Awalan /p menyatakan berapa banyak bit permulaan yang mengenal pasti rangkaian; baki 32 − p bit menomborkan hos. Satu subnet mempunyai 2³²⁻ᵖ alamat, tetapi yang pertama (alamat rangkaian) dan yang terakhir (alamat siaran) tidak boleh diberikan kepada hos, jadi 2³²⁻ᵖ − 2 hos boleh dimuatkan. Pengecualian: /31 (pautan titik ke titik, RFC 3021) menggunakan kedua-dua 2 alamatnya untuk hos, dan /32 ialah satu alamat tunggal (satu hos atau loopback).

Saiz blok

25 = 32

Subnet hos ini

rangkaian: ⌊160/32⌋·32 = 160
siaran: 160 + 32 − 1 = 191
hos boleh guna: 161 … 190

Jawapan

x = 160

ExamProblems · examproblems.com/courses/computer-science-fundamentals