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-bit?−128?64?32?16?8?4?2?1

Tulis −70 sebagai corak pelengkap dua 8-bit. Baca corak itu sebagai nombor perduaan tanpa tanda: apakah nilainya U dalam perpuluhan?

N = −708 bit
U =
2.Sistem nomborSukar
klik bit untuk menetapkannya012806403201608040201

Tetapkan bit kepada hasil 8-bit bagi 1000 1101 << 3. Apakah nilai hasil R dalam perpuluhan?

1000 1101<< 3
R =
3.Logik proposisi & pembuktianSederhana
tautologipercanggahankontingensi

Adakah ((q → p) ∧ (q → r)) → (p → r) tautologi, percanggahan atau kontingensi? Klik jawapan anda.

((q → p) ∧ (q → r)) → (p → r)
  1. 1tautologi
  2. 2percanggahan
  3. 3kontingensi
4.Logik proposisi & pembuktianSukar
a ∧ cc → a¬a → ¬ca → c

Premis a → b; b → c diberikan. Kesimpulan manakah yang terhasil daripadanya? Klik kesimpulan itu.

a → bb → c
  1. 1a ∧ c
  2. 2c → a
  3. 3¬a → ¬c
  4. 4a → c
5.Logik digital: get, peta K & flip-flopSederhana
MUXCI0​1I1​CI2​C′I3​ABS1​S0​F

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

I₀ = CI₁ = 1I₂ = CI₃ = C′
N =
6.Logik digital: get, peta K & flip-flopSukar
FFQ0​Q0​FFQ1​Q1​FFQ2​Q2​FFQ3​Q3​FFQ4​Q4​FFQ5​Q5​FFQ6​Q6​CLKMOD-100

Jam 10 kHz memacu pembilang mod-100. Cari frekuensi fout output paling bererti, yang melengkapkan satu kitar bagi setiap kitaran pengiraan.

fclk = 10 kHzN = 100
fout = kHz
7.Teori nombor & aritmetik moduloSederhana

Cari fungsi totien Euler φ(121), bilangan integer dari 1 hingga 121 yang perdana relatif dengan 121.

n = 121 = 112
φ(121) =
8.Teori nombor & aritmetik moduloSukar
mc = me​ mod ncm = cd​ mod nm(n, e) = (1363, 11)d = ?

Kunci RSA menggunakan nombor perdana p = 29 dan q = 47 serta eksponen awam e = 11. Cari eksponen persendirian d (0 < d < φ(n)).

p = 29q = 47e = 11
d =
9.Algoritma & kerumitanSederhana

Algoritma tamak (greedy):

  1. AHanya menggunakan rekursi
  2. BMembuat pilihan terbaik setempat pada setiap langkah
  3. CSentiasa memberikan penyelesaian optimum
  4. DMencuba setiap penyelesaian yang mungkin
10.Algoritma & kerumitanSukar

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

  1. AIa mengira kitaran dengan carian pertama dalam
  2. BIa menyemak sama ada mana-mana sisi mempunyai pemberat negatif
  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
11.Struktur dataSederhana

Kunci 50, 30, 70, 20, 40 disisip mengikut susunan ini ke dalam pokok carian binari kosong. Apakah anak kiri 30?

  1. A70
  2. B50
  3. C20
  4. D40
12.Struktur dataSukar

Kerumitan masa decrease-key dalam timbunan binari (diberi kedudukan elemen) ialah:

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

Sebuah pokok mempunyai 3 bucu berdarjah 3, 3 bucu berdarjah 4, 3 bucu berdarjah 5, 2 bucu berdarjah 2, dan semua bucu lainnya ialah daun (berdarjah 1). Berapa banyak daun L yang ada padanya?

3 × deg 33 × deg 43 × deg 52 × deg 2
L =
14.Teori grafSukar
1871541110ABCDE

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

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

Bentuk normal ketiga (3NF) menghapuskan:

  1. AIndeks berlebihan pada lajur yang bukan sebahagian daripada kunci
  2. BNilai atomik
  3. CKunci gubahan
  4. DKebergantungan transitif antara atribut bukan kunci
16.Pangkalan data & SQLSukar

Mengapakah pertanyaan dengan WHERE YEAR(order_date) = 2025 mungkin tidak menggunakan indeks pada order_date?

  1. AIndeks tidak pernah berfungsi dengan tarikh
  2. BYEAR bukan SQL yang sah
  3. CMenggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
  4. DIndeks pada order_date hanya digunakan untuk klausa ORDER BY, tidak pernah untuk WHERE
17.Rangkaian komputerSederhana

Apakah perbezaan utama antara kaedah HTTP GET dan POST?

  1. AGET disulitkan, POST tidak
  2. BGET mendapatkan sumber, POST menghantar data dalam badan permintaan
  3. CGET memadam sumber, POST membacanya daripada pangkalan data pelayan
  4. DGET menggunakan UDP, POST menggunakan TCP
18.Rangkaian komputerSukar

Seorang penyerang pada LAN menghantar balasan ARP palsu yang mendakwa alamat IP get laluan. Apakah kemungkinan akibatnya?

  1. ASuis mematikan semua portnya
  2. BAlamat IP get laluan ditukar secara kekal kepada alamat penyerang pada setiap penghala
  3. CMangsa menghantar trafik untuk get laluan kepada penyerang, membolehkan serangan lelaki-di-tengah
  4. DSemua pertanyaan DNS gagal di seluruh internet
19.Subnet IPv4Sederhana
/24 → /2811111111111111111111111111110000bit rangkaianbit hos

Rangkaian 192.168.133.0/24 dibahagikan kepada subnet /28, bernombor 1, 2, 3, … dari alamat terendah (subnet 1 bermula pada .0). Apakah oktet keempat x alamat rangkaian subnet 4?

192.168.133.0/24/28subnet 4 (subnet 1 bermula pada .0)
x =
20.Subnet IPv4Sukar
oktet ketiga 163 … 165112806413201608041211sepunyaberbeza

Sebuah penghala mempunyai laluan ke rangkaian ini: 10.19.163.0/24, 10.19.164.0/24, 10.19.165.0/24. Berapakah panjang awalan terpanjang p bagi satu laluan ringkasan yang meliputi kesemuanya?

10.19.163.0/24 … 10.19.165.0/24
p =

3Larutan

1.Sistem nombor

Jawapan: U = 186

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.

Songsang dan tambah satu

70 = 0100 0110
disongsangkan: 1011 1001
+1 → 1011 1010

Baca sebagai tanpa tanda

1011 1010₂ = 256 − 70 = 186

Jawapan

U = 186
2.Sistem nombor

Jawapan: R = 104

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

Anjak ke kiri sebanyak 3 menggerakkan setiap bit 3 tempat ke kiri; bit yang jatuh dari hujung kiri hilang dan sifar masuk di sebelah kanan.

1000 1101 << 3
= 0110 1000

Nilai hasil

0110 1000₂ = 104

Jawapan

R = 104
3.Logik proposisi & pembuktian

Jawapan: kontingensi

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

p = 1, q = 1, r = 1: q → p = 1, q → r = 1, (q → p) ∧ (q → r) = 1, p → r = 1, ((q → p) ∧ (q → r)) → (p → r) = 1
p = 1, q = 1, r = 0: q → p = 1, q → r = 0, (q → p) ∧ (q → r) = 0, p → r = 0, ((q → p) ∧ (q → r)) → (p → r) = 1
p = 1, q = 0, r = 1: q → p = 1, q → r = 1, (q → p) ∧ (q → r) = 1, p → r = 1, ((q → p) ∧ (q → r)) → (p → r) = 1
p = 1, q = 0, r = 0: q → p = 1, q → r = 1, (q → p) ∧ (q → r) = 1, p → r = 0, ((q → p) ∧ (q → r)) → (p → r) = 0
p = 0, q = 1, r = 1: q → p = 0, q → r = 1, (q → p) ∧ (q → r) = 0, p → r = 1, ((q → p) ∧ (q → r)) → (p → r) = 1
p = 0, q = 1, r = 0: q → p = 0, q → r = 0, (q → p) ∧ (q → r) = 0, p → r = 1, ((q → p) ∧ (q → r)) → (p → r) = 1
p = 0, q = 0, r = 1: q → p = 1, q → r = 1, (q → p) ∧ (q → r) = 1, p → r = 1, ((q → p) ∧ (q → r)) → (p → r) = 1
p = 0, q = 0, r = 0: q → p = 1, q → r = 1, (q → p) ∧ (q → r) = 1, p → r = 1, ((q → p) ∧ (q → r)) → (p → r) = 1

Kelaskan

((q → p) ∧ (q → r)) → (p → r): 1, 1, 1, 0, 1, 1, 1, 1
1 dalam 7 daripada 8 baris, 0 dalam yang lain: kontingensi.

Jawapan

kontingensi
4.Logik proposisi & pembuktian

Jawapan: a → c

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

a = 1, b = 1, c = 1: a ∧ c = 1, c → a = 1, ¬a → ¬c = 1, a → c = 1
a = 0, b = 1, c = 1: a ∧ c = 0, c → a = 0, ¬a → ¬c = 0, a → c = 1
a = 0, b = 0, c = 1: a ∧ c = 0, c → a = 0, ¬a → ¬c = 0, a → c = 1
a = 0, b = 0, c = 0: a ∧ c = 0, c → a = 1, ¬a → ¬c = 1, a → c = 1

Kesimpulan

a → c (silogisme hipotesis)

Jawapan

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

Jawapan: N = 5

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′C + A′B + AB′C + ABC′

Baris dengan F = 1

ABC = 001, 010, 011, 101, 110
N = 5

Jawapan

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

Jawapan: fout = 0.1 kHz

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.

Pembahagian frekuensi

fout = 10 kHz / 100 = 0.1 kHz

Jawapan

fout = 0.1 kHz
7.Teori nombor & aritmetik modulo

Jawapan: φ(121) = 110

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

Faktor perdana

121 = 112

Totien

φ(121) = 121 − 11 = 110

Jawapan

φ(121) = 110
8.Teori nombor & aritmetik modulo

Jawapan: d = 1171

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 = 29·47 = 1363
φ(n) = 28·46 = 1288

Algoritma Euclid lanjutan

r = 1288, t = 0
r = 11, q = 117, t = 1
r = 1, q = 11, t = −117

Eksponen persendirian

d = 1171
semakan: 11·1171 = 12881 = 10·1288 + 1

Jawapan

d = 1171
9.Algoritma & kerumitan

Jawapan: B · Membuat pilihan terbaik setempat pada setiap langkah

Mengapa ini jawapannya

Algoritma tamak adalah pantas dan optimum untuk sesetengah masalah (cth. Dijkstra, pengekodan Huffman) tetapi tidak secara umum (cth. pertukaran syiling dengan sesetengah sistem syiling).

Jawapan

B · Membuat pilihan terbaik setempat pada setiap langkah
10.Algoritma & kerumitan

Jawapan: C · Selepas V − 1 pusingan, ia menyemak sama ada mana-mana sisi masih boleh dilonggarkan

Mengapa ini jawapannya

Semua jarak terpendek sebenar ditemui dalam V − 1 pusingan; jika sesuatu sisi masih boleh diperbaiki, kitaran negatif mesti wujud.

Jawapan

C · Selepas V − 1 pusingan, ia menyemak sama ada mana-mana sisi masih boleh dilonggarkan
11.Struktur data

Jawapan: C · 20

Mengapa ini jawapannya

20 lebih kecil daripada 50 dan lebih kecil daripada 30, jadi ia menjadi anak kiri 30; 40 menjadi anak kanannya.

Jawapan

C · 20
12.Struktur data

Jawapan: D · O(log n)

Mengapa ini jawapannya

Selepas mengurangkan kunci, elemen bergerak ke atas paling banyak setinggi timbunan. Timbunan Fibonacci mencapai decrease-key O(1) teramortisasi.

Jawapan

D · O(log n)
13.Teori graf

Jawapan: L = 20

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.

Lema jabat tangan untuk pokok

L + 40 = 2(L + 11) − 2
L = 20

Jawapan

L = 20

Jalan pintas: L = 2 + Σ (d − 2) ke atas bucu berdarjah d ≥ 3.

14.Teori graf

Jawapan: W = 23

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

AB (1): ambil
CE (4): ambil
BC (7): ambil
AC (8): langkau, menutup kitaran
BE (10): langkau, menutup kitaran
DE (11): ambil

Jumlah berat

W = 1 + 4 + 7 + 11 = 23

Jawapan

W = 23
15.Pangkalan data & SQL

Jawapan: D · Kebergantungan transitif antara atribut bukan kunci

Mengapa ini jawapannya

Dalam 3NF tiada atribut bukan kunci bergantung pada atribut bukan kunci lain, seperti menyimpan bandar dan poskod di mana bandar bergantung pada poskod.

Jawapan

D · Kebergantungan transitif antara atribut bukan kunci
16.Pangkalan data & SQL

Jawapan: C · Menggunakan fungsi pada lajur menghalang carian julat indeks yang mudah

Mengapa ini jawapannya

Ungkapan itu tidak "sargable"; menggunakan order_date >= '2025-01-01' AND order_date < '2026-01-01' membolehkan imbasan julat indeks.

Jawapan

C · Menggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
17.Rangkaian komputer

Jawapan: B · GET mendapatkan sumber, POST menghantar data dalam badan permintaan

Mengapa ini jawapannya

GET meminta sumber dan tidak patut mengubah keadaan pelayan. POST menghantar data, seperti borang, dalam badan untuk diproses oleh pelayan.

Jawapan

B · GET mendapatkan sumber, POST menghantar data dalam badan permintaan
18.Rangkaian komputer

Jawapan: C · Mangsa menghantar trafik untuk get laluan kepada penyerang, membolehkan serangan lelaki-di-tengah

Mengapa ini jawapannya

Pemalsuan ARP meracuni cache ARP hos dengan MAC penyerang bagi IP get laluan. Penyerang kemudian boleh membaca, mengubah atau menggugurkan trafik; pemeriksaan ARP dinamik membantu mencegahnya.

Jawapan

C · Mangsa menghantar trafik untuk get laluan kepada penyerang, membolehkan serangan lelaki-di-tengah
19.Subnet IPv4

Jawapan: x = 48

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

Saiz blok

24 = 16

Subnet nombor 4

rangkaian: (4 − 1)·16 = 48
siaran: 48 + 16 − 1 = 63

Jawapan

x = 48
20.Subnet IPv4

Jawapan: p = 21

Peringkasan laluan: laluan ringkasan a.b.c.0/p meliputi semua rangkaian yang p bit pertamanya sepadan. Tulis oktet yang berbeza bagi rangkaian pertama dan terakhir dalam binari; bilangan bit di hadapan yang sama, campur bit oktet sebelumnya, ialah awalan ringkasan terpanjang.

Bandingkan bit

163 = 10100011
165 = 10100101
bit di hadapan yang sama: 5

Panjang awalan

p = 16 + 5 = 21

Jawapan

p = /21

Laluan ringkasan: 10.19.160.0/21 (ia juga meliputi 5 rangkaian yang tiada dalam senarai).

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