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
nilai kedudukan dalam pelengkap dua1−12816413201608041211

Corak 8-bit 1110 0011 menyimpan integer bertanda dalam pelengkap dua. Apakah nilainya N dalam perpuluhan?

1110 00118 bit
N =
2.Sistem nomborSukar
klik bit untuk menetapkannya012806403201608040201

Tetapkan bit kepada hasil 8-bit bagi 0011 1000 XOR 1010 0111. Apakah nilai hasil R dalam perpuluhan?

0011 1000XOR1010 0111
R =
3.Logik proposisi & pembuktianSederhana
abc¬ca ∧ ¬c(c ∨ (¬a → b)) ↔ (a ∧ ¬c)111?110?101?100?011?010?001?000?

Dalam berapa daripada 8 baris jadual kebenarannya (c ∨ (¬a → b)) ↔ (a ∧ ¬c) benar? Panggil nombor ini N.

(c ∨ (¬a → b)) ↔ (a ∧ ¬c)
N =
4.Logik proposisi & pembuktianSukar
r ∨ q¬pp ∧ qp ∨ q

Premis r ∨ p; ¬r ∨ q diberikan. Kesimpulan manakah yang terhasil daripadanya? Klik kesimpulan itu.

r ∨ p¬r ∨ q
  1. 1r ∨ q
  2. 2¬p
  3. 3p ∧ q
  4. 4p ∨ q
5.Logik digital: get, peta K & flip-flopSederhana
MUX1I0​1I1​0I2​1I3​ABS1​S0​F

Multipleks 4-ke-1 mempunyai input pilih S₁ = A dan S₀ = B, dan input datanya diikat kepada I₀ = 1, I₁ = 1, I₂ = 0, I₃ = 1. Bagi berapa daripada 8 gabungan A, B dan C output F = 1? Cari N.

I₀ = 1I₁ = 1I₂ = 0I₃ = 1
N =
6.Logik digital: get, peta K & flip-flopSukar
CLKT123456

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.Teori nombor & aritmetik moduloSederhana

Cari songsangan 11 modulo 29: nombor x dengan 0 < x < 29 dan 11·x ≡ 1 (mod 29).

a = 11n = 29
11−1 mod 29 =
8.Teori nombor & aritmetik moduloSukar
mc = me​ mod ncm = cd​ mod nm(n, e) = (779, 23)d = ?

Kunci RSA menggunakan nombor perdana p = 19 dan q = 41 serta eksponen awam e = 23. Cari eksponen persendirian d (0 < d < φ(n)).

p = 19q = 41e = 23
d =
9.Algoritma & kerumitanSederhana

Kerumitan masa Fibonacci rekursif naif (fib(n) = fib(n−1) + fib(n−2)) ialah:

  1. ALogaritma
  2. BEksponen
  3. CMalar
  4. DLinear
10.Algoritma & kerumitanSukar

Apakah yang akan menyusul jika seseorang menemui algoritma masa polinomial untuk satu masalah NP-lengkap?

  1. ASetiap masalah dalam NP boleh diselesaikan dalam masa polinomial, jadi P = NP
  2. BSemua algoritma masa eksponen serta-merta berjalan dalam masa linear
  3. CHanya satu masalah itu berpindah ke dalam P
  4. DMasalah penghentian menjadi boleh diputuskan
11.Struktur dataSederhana

Bagaimanakah extract-min berfungsi dalam timbunan min binari?

  1. ABuang elemen terakhir tatasusunan
  2. BPindahkan elemen terakhir ke akar dan gerakkannya ke bawah
  3. CBuang akar dan anjakkan semua elemen satu tempat ke kiri
  4. DCari semua daun untuk minimum baharu
12.Struktur dataSukar

Tanpa penyatuan mengikut pangkat atau pemampatan laluan, apakah kos kes terburuk satu find dalam struktur union-find dengan n elemen?

  1. AO(α(n))
  2. BO(n)
  3. CO(log n)
  4. DO(1)
13.Teori grafSederhana

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

K5
H =
14.Teori grafSukar
9101118121517134ABCDEFG

Cari jumlah berat W pokok rentang minimum bagi graf berpemberat itu.

|V| = 7|E| = 9
W =
15.Pangkalan data & SQLSederhana

Pertanyaan manakah yang memulangkan bilangan bandar berbeza dalam jadual customers?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(DISTINCT city) FROM customers
16.Pangkalan data & SQLSukar

Apakah bacaan hantu (phantom read)?

  1. AMembaca perubahan yang belum dikomit
  2. BPertanyaan yang tidak memulangkan baris
  3. CMembaca data yang tidak pernah ditulis
  4. DPertanyaan berulang memulangkan baris baharu yang disisipkan oleh transaksi lain yang telah dikomit
17.Rangkaian komputerSederhana

Mengapakah suis kadangkala menghantar bingkai keluar melalui semua port kecuali port tempat bingkai itu masuk?

  1. ABingkai terlalu besar untuk satu port
  2. BSuis bertindak sebagai penghala
  3. CBingkai mempunyai hasil tambah semak IP yang salah dan mesti disemak oleh setiap hos
  4. DAlamat MAC destinasi belum ada dalam jadual alamatnya
18.Rangkaian komputerSukar

Manakah antara alamat berikut ialah alamat IPv4 awam (bukan persendirian RFC 1918)?

  1. A172.32.0.1
  2. B172.31.0.1
  3. C192.168.255.1
  4. D10.255.0.1
19.Subnet IPv4Sederhana
/22 → /3011111111111111111111111111111100bit rangkaianbit hos

Rangkaian 10.151.172.0/22 dibahagikan kepada subnet sama saiz dengan awalan /30. Berapakah bilangan subnet N?

10.151.172.0/22/30
N =
20.Subnet IPv4Sukar
oktet terakhir = 128112806403201608040201rangkaianhos

Sebuah hos mempunyai alamat 10.20.1.128/25. Apakah nombor terakhir (oktet keempat) x bagi alamat siaran subnetnya?

10.20.1.128/25
x =

3Larutan

1.Sistem nombor

Jawapan: N = −29

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.

Tambah nilai kedudukan

Bit lain mengekalkan nilai positif biasanya.

−128 + 64 + 32 + 2 + 1 = −29

Jawapan

N = −29
2.Sistem nombor

Jawapan: R = 159

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.

Bit demi bit

XOR memberikan 1 di mana kedua-dua bit berbeza.

0011 1000
XOR 1010 0111
= 1001 1111

Nilai hasil

1001 1111₂ = 159

Jawapan

R = 159
3.Logik proposisi & pembuktian

Jawapan: N = 3

Jadual kebenaran: formula dengan n pemboleh ubah berbeza mempunyai 2ⁿ baris, satu untuk setiap gabungan nilai kebenaran (1 = benar, 0 = palsu). Bekerja dari dalam ke luar dan beri setiap subformula lajurnya sendiri. ¬a menyongsangkan nilai; a ∧ b ialah 1 hanya apabila kedua-duanya 1; a ∨ b ialah 0 hanya apabila kedua-duanya 0; a → b ialah 0 hanya apabila a = 1 dan b = 0; a ↔ b ialah 1 apabila kedua-dua belah sama.

Jadual kebenaran baris demi baris

a = 1, b = 1, c = 1: ¬a = 0, ¬a → b = 1, c ∨ (¬a → b) = 1, ¬c = 0, a ∧ ¬c = 0, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 0
a = 1, b = 1, c = 0: ¬a = 0, ¬a → b = 1, c ∨ (¬a → b) = 1, ¬c = 1, a ∧ ¬c = 1, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 1
a = 1, b = 0, c = 1: ¬a = 0, ¬a → b = 1, c ∨ (¬a → b) = 1, ¬c = 0, a ∧ ¬c = 0, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 0
a = 1, b = 0, c = 0: ¬a = 0, ¬a → b = 1, c ∨ (¬a → b) = 1, ¬c = 1, a ∧ ¬c = 1, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 1
a = 0, b = 1, c = 1: ¬a = 1, ¬a → b = 1, c ∨ (¬a → b) = 1, ¬c = 0, a ∧ ¬c = 0, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 0
a = 0, b = 1, c = 0: ¬a = 1, ¬a → b = 1, c ∨ (¬a → b) = 1, ¬c = 1, a ∧ ¬c = 0, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 0
a = 0, b = 0, c = 1: ¬a = 1, ¬a → b = 0, c ∨ (¬a → b) = 1, ¬c = 0, a ∧ ¬c = 0, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 0
a = 0, b = 0, c = 0: ¬a = 1, ¬a → b = 0, c ∨ (¬a → b) = 0, ¬c = 1, a ∧ ¬c = 0, (c ∨ (¬a → b)) ↔ (a ∧ ¬c) = 1

Kira baris dengan nilai 1

(c ∨ (¬a → b)) ↔ (a ∧ ¬c): 0, 1, 0, 1, 0, 0, 0, 1
N = 3

Jawapan

N = 3
4.Logik proposisi & pembuktian

Jawapan: p ∨ q

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.

Baris dengan semua premis benar

p = 1, q = 1, r = 1: r ∨ q = 1, ¬p = 0, p ∧ q = 1, p ∨ q = 1
p = 1, q = 1, r = 0: r ∨ q = 1, ¬p = 0, p ∧ q = 1, p ∨ q = 1
p = 1, q = 0, r = 0: r ∨ q = 0, ¬p = 0, p ∧ q = 0, p ∨ q = 1
p = 0, q = 1, r = 1: r ∨ q = 1, ¬p = 1, p ∧ q = 0, p ∨ q = 1

Kesimpulan

p ∨ q (resolusi)

Jawapan

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

Jawapan: N = 6

Multipleks: multipleks 2ⁿ-ke-1 menyalurkan satu input datanya ke output; talian pilih, dibaca sebagai nombor perduaan, menentukan yang mana satu. Untuk MUX 4-ke-1 dengan pilih S₁S₀ = AB, F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Mengikat input data kepada 0, 1, C atau C′ membolehkan MUX menghasilkan sebarang fungsi bagi A, B dan C, yang merupakan cara lazim untuk membina logik dengan satu cip.

Ungkapan output

F = A′B′ + A′B + AB

Baris dengan F = 1

ABC = 000, 001, 010, 011, 110, 111
N = 6

Jawapan

N = 6
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 = 0 → Q = 0
4: T = 1 → Q = 1
5: T = 0 → Q = 1
6: T = 1 → Q = 0

Perubahan pertama daripada 1 kepada 0

pinggir jam 6

Jawapan

pinggir jam 6
7.Teori nombor & aritmetik modulo

Jawapan: 11−1 mod 29 = 8

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).

Algoritma Euclid lanjutan

Setiap baki r ditulis sebagai r ≡ t·11 (mod 29).

r = 29, t = 0
r = 11, q = 2, t = 1
r = 7, q = 1, t = −2
r = 4, q = 1, t = 3
r = 3, q = 1, t = −5
r = 1, q = 3, t = 8

Songsangan

1 ≡ 8·11 (mod 29)
x = 8
semakan: 11·8 = 88 = 3·29 + 1

Jawapan

11−1 mod 29 = 8
8.Teori nombor & aritmetik modulo

Jawapan: d = 407

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.

Modulus dan totien

n = 19·41 = 779
φ(n) = 18·40 = 720

Algoritma Euclid lanjutan

r = 720, t = 0
r = 23, q = 31, t = 1
r = 7, q = 3, t = −31
r = 2, q = 3, t = 94
r = 1, q = 2, t = −313

Eksponen persendirian

d = 407
semakan: 23·407 = 9361 = 13·720 + 1

Jawapan

d = 407
9.Algoritma & kerumitan

Jawapan: B · Eksponen

Mengapa ini jawapannya

Pokok panggilan tumbuh kira-kira seperti φⁿ (kira-kira 1.618ⁿ). Memoisasi mengurangkannya kepada O(n).

Jawapan

B · Eksponen
10.Algoritma & kerumitan

Jawapan: A · Setiap masalah dalam NP boleh diselesaikan dalam masa polinomial, jadi P = NP

Mengapa ini jawapannya

Oleh sebab seluruh NP boleh diturunkan kepada sebarang masalah NP-lengkap dalam masa polinomial, algoritma pantas untuk satu memberikan algoritma pantas untuk semua.

Jawapan

A · Setiap masalah dalam NP boleh diselesaikan dalam masa polinomial, jadi P = NP
11.Struktur data

Jawapan: B · Pindahkan elemen terakhir ke akar dan gerakkannya ke bawah

Mengapa ini jawapannya

Elemen terakhir mengisi lubang di akar dan ditukar dengan anaknya yang lebih kecil sehingga sifat timbunan dipenuhi, mengambil O(log n).

Jawapan

B · Pindahkan elemen terakhir ke akar dan gerakkannya ke bawah
12.Struktur data

Jawapan: B · O(n)

Mengapa ini jawapannya

Penyatuan naif boleh memaut pokok menjadi rantai panjang, jadi find mungkin mengikuti n − 1 penuding induk; kedua-dua heuristik menjadikannya hampir malar.

Jawapan

B · O(n)
13.Teori graf

Jawapan: H = 12

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 = (5 − 1)!/2 = 24/2 = 12

Jawapan

H = 12
14.Teori graf

Jawapan: W = 63

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.

Algoritma Kruskal

GE (4): ambil
AB (9): ambil
AC (10): ambil
BC (11): langkau, menutup kitaran
DF (12): ambil
GC (13): ambil
EF (15): ambil

Jumlah berat

W = 4 + 9 + 10 + 12 + 13 + 15 = 63

Jawapan

W = 63
15.Pangkalan data & SQL

Jawapan: D · SELECT COUNT(DISTINCT city) FROM customers

Mengapa ini jawapannya

COUNT(DISTINCT city) mengira bandar unik bukan NULL; DISTINCT di luar COUNT hanya membuang baris hasil yang berganda.

Jawapan

D · SELECT COUNT(DISTINCT city) FROM customers
16.Pangkalan data & SQL

Jawapan: D · Pertanyaan berulang memulangkan baris baharu yang disisipkan oleh transaksi lain yang telah dikomit

Mengapa ini jawapannya

Hantu berlaku apabila transaksi lain menyisipkan baris yang sepadan dengan syarat julat; pengasingan serializable mencegahnya.

Jawapan

D · Pertanyaan berulang memulangkan baris baharu yang disisipkan oleh transaksi lain yang telah dikomit
17.Rangkaian komputer

Jawapan: D · Alamat MAC destinasi belum ada dalam jadual alamatnya

Mengapa ini jawapannya

Untuk alamat unicast yang tidak diketahui, suis membanjiri bingkai. Apabila destinasi membalas, suis mempelajari portnya daripada MAC sumber.

Jawapan

D · Alamat MAC destinasi belum ada dalam jadual alamatnya
18.Rangkaian komputer

Jawapan: A · 172.32.0.1

Mengapa ini jawapannya

172.16.0.0/12 bermula dari 172.16.0.0 hingga 172.31.255.255, maka 172.32.0.1 berada di luarnya. Tiga yang lain berada dalam julat persendirian.

Jawapan

A · 172.32.0.1
19.Subnet IPv4

Jawapan: N = 256

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).

Bit yang dipinjam

30 − 22 = 8

Bilangan subnet

N = 28 = 256

Jawapan

N = 256

Setiap subnet /30 mempunyai 22 − 2 = 2 hos boleh guna.

20.Subnet IPv4

Jawapan: x = 255

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

27 = 128

Subnet hos ini

rangkaian: ⌊128/128⌋·128 = 128
siaran: 128 + 128 − 1 = 255
hos boleh guna: 129 … 254

Jawapan

x = 255

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