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 −25 sebagai corak pelengkap dua 8-bit. Baca corak itu sebagai nombor perduaan tanpa tanda: apakah nilainya U dalam perpuluhan?

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

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

1101 0010<< 2
R =
3.Logik proposisi & pembuktianSederhana
pqr¬p ∧ ¬q¬p ∧ r(¬p ∧ ¬q) → (¬p ∧ r)111?110?101?100?011?010?001?000?

Dalam berapa daripada 8 baris jadual kebenarannya (¬p ∧ ¬q) → (¬p ∧ r) benar? Panggil nombor ini N.

(¬p ∧ ¬q) → (¬p ∧ r)
N =
4.Logik proposisi & pembuktianSukar

Berapa banyak daripada 16 baris jadual kebenaran menjadikan (s ↔ (r ∧ p)) → (¬(r → ¬q) ∨ ¬q) benar? Panggil nombor ini N.

(s ↔ (r ∧ p)) → (¬(r → ¬q) ∨ ¬q)
N =
5.Logik digital: get, peta K & flip-flopSederhana
MUX1I0​CI1​C′I2​CI3​ABS1​S0​F

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

I₀ = 1I₁ = CI₂ = C′I₃ = C
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

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

a = 24n = 89
24−1 mod 89 =
8.Teori nombor & aritmetik moduloSukar

Gunakan kuasa dua berulang untuk mencari 5144 mod 11.

a = 5k = 144n = 11
5144 mod 11 =
9.Algoritma & kerumitanSederhana

Anda mengisih tatasusunan n elemen sekali dan kemudian menjawab k pertanyaan keahlian dengan carian binari. Apakah jumlah kosnya?

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

Mengapakah carian binari tidak memberikan masa O(log n) pada senarai berpaut tunggal?

  1. ASenarai berpaut tidak boleh disusun
  2. BPerbandingan pada nod senarai berpaut lebih perlahan
  3. CSampai ke elemen tengah mengambil O(n) langkah, kerana tiada akses indeks langsung
  4. DCarian binari memerlukan memori dua kali ganda
11.Struktur dataSederhana

Dalam baris gilir bulat yang disimpan dalam tatasusunan berkapasiti n, bagaimanakah kedudukan seterusnya selepas indeks i dikira?

  1. A2i + 1
  2. Bi + 1
  3. C(i − 1) mod n
  4. D(i + 1) mod n
12.Struktur dataSukar

Tatasusunan dinamik berganda apabila penuh. Mengapakah banyak pelaksanaan mengecilkannya hanya apabila ia suku penuh, bukan separuh penuh?

  1. AKerana pengalokasi memori hanya boleh melepaskan memori dalam suku blok
  2. BUntuk mengelak perubahan saiz berulang apabila push dan pop berselang-seli berhampiran sempadan
  3. CKerana membahagi dua pada separuh akan menghilangkan elemen
  4. DUntuk mengekalkan tatasusunan tersusun
13.Teori grafSederhana
ABCDELitar EulerLaluan Euler, tiada litartiada kedua-duanya

Adakah graf bersambung itu mempunyai litar Euler, laluan Euler yang bukan litar, atau tiada kedua-duanya? Klik jawapan anda.

|V| = 5|E| = 6
  1. 1Litar Euler
  2. 2Laluan Euler, tiada litar
  3. 3tiada kedua-duanya
14.Teori grafSukar
61215291194ABCDEFG

Algoritma Dijkstra bermula dari A. Klik bucu yang ditetapkan (dijadikan tetap) dalam pusingan 5; A sendiri ialah pusingan 1.

mula: Apusingan 5
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
  7. 7G
15.Pangkalan data & SQLSederhana

Bentuk normal ketiga (3NF) menghapuskan:

  1. AKunci gubahan
  2. BKebergantungan transitif antara atribut bukan kunci
  3. CNilai atomik
  4. DIndeks berlebihan pada lajur yang bukan sebahagian daripada kunci
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. ASyarat WHERE pada o menolak baris berisi NULL, menjadikannya cantuman dalam (inner join)
  2. Bstatus ialah perkataan terpelihara
  3. CLEFT JOIN tidak pernah mengekalkan baris tidak sepadan
  4. DCantuman patut menggunakan USING dan bukan ON
17.Rangkaian komputerSederhana

Berapa lamakah masa untuk meletakkan paket 1500 bait ke atas pautan 12 Mbit/s (kelewatan penghantaran)?

  1. A1 ms
  2. B12 ms
  3. C0.125 ms
  4. D8 ms
18.Rangkaian komputerSukar

Hos dalam VLAN 10 dan VLAN 20 pada suis yang sama tidak dapat berkomunikasi. Apakah yang diperlukan?

  1. AAlamat MAC yang sama pada kedua-dua hos
  2. BPenghala atau suis lapisan 3 untuk menghalakan antara VLAN
  3. CKabel yang lebih panjang antara hos
  4. DHab yang disambungkan kepada kedua-dua VLAN
19.Subnet IPv4Sederhana
255.255.255.25211111111111111111111111111111100bit rangkaianbit hos

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

255.255.255.252
H =
20.Subnet IPv4Sukar
oktet terakhir = 248112816413211618040201rangkaianhos

Sebuah hos mempunyai alamat 10.20.104.248/25. Apakah oktet keempat x bagi alamat hos boleh guna yang terakhir dalam subnetnya?

10.20.104.248/25
x =

3Larutan

1.Sistem nombor

Jawapan: U = 231

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

25 = 0001 1001
disongsangkan: 1110 0110
+1 → 1110 0111

Baca sebagai tanpa tanda

1110 0111₂ = 256 − 25 = 231

Jawapan

U = 231
2.Sistem nombor

Jawapan: R = 72

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 2 menggerakkan setiap bit 2 tempat ke kiri; bit yang jatuh dari hujung kiri hilang dan sifar masuk di sebelah kanan.

1101 0010 << 2
= 0100 1000

Nilai hasil

0100 1000₂ = 72

Jawapan

R = 72
3.Logik proposisi & pembuktian

Jawapan: N = 7

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

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

Kira baris dengan nilai 1

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

Jawapan

N = 7
4.Logik proposisi & pembuktian

Jawapan: N = 14

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.

Lajur

r ∧ p; s ↔ (r ∧ p); ¬q; r → ¬q; ¬(r → ¬q); ¬(r → ¬q) ∨ ¬q; (s ↔ (r ∧ p)) → (¬(r → ¬q) ∨ ¬q)

Pecahkan pada p

p = 1: 7
p = 0: 7
N = 7 + 7 = 14

Jawapan

N = 14
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′ + A′BC + AB′C′ + ABC

Baris dengan F = 1

ABC = 000, 001, 011, 100, 111
N = 5

Jawapan

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

Jawapan: pinggir jam 3

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

Perubahan pertama daripada 1 kepada 0

pinggir jam 3

Jawapan

pinggir jam 3
7.Teori nombor & aritmetik modulo

Jawapan: 24−1 mod 89 = 26

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·24 (mod 89).

r = 89, t = 0
r = 24, q = 3, t = 1
r = 17, q = 1, t = −3
r = 7, q = 2, t = 4
r = 3, q = 2, t = −11
r = 1, q = 3, t = 26

Songsangan

1 ≡ 26·24 (mod 89)
x = 26
semakan: 24·26 = 624 = 7·89 + 1

Jawapan

24−1 mod 89 = 26
8.Teori nombor & aritmetik modulo

Jawapan: 5144 mod 11 = 9

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 perduaan

144 = 100100002 = 128 + 16

Kuasa dua berulang

51 ≡ 5 (mod 11)
52 ≡ 3 (mod 11)
54 ≡ 9 (mod 11)
58 ≡ 4 (mod 11)
516 ≡ 5 (mod 11)
532 ≡ 3 (mod 11)
564 ≡ 9 (mod 11)
5128 ≡ 4 (mod 11)

Darabkan kuasa yang diperlukan

5144 ≡ 5·4 ≡ 9 (mod 11)

Jawapan

5144 mod 11 = 9
9.Algoritma & kerumitan

Jawapan: A · O(n log n + k log n)

Mengapa ini jawapannya

Pengisihan berkos O(n log n) dan setiap pertanyaan O(log n); ini mengatasi k imbasan linear (O(nk)) apabila k besar.

Jawapan

A · O(n log n + k log n)
10.Algoritma & kerumitan

Jawapan: C · Sampai ke elemen tengah mengambil O(n) langkah, kerana tiada akses indeks langsung

Mengapa ini jawapannya

Carian binari memerlukan akses O(1) ke bahagian tengah; pada senarai berpaut berjalan ke sana berkos masa linear, jadi jumlahnya O(n).

Jawapan

C · Sampai ke elemen tengah mengambil O(n) langkah, kerana tiada akses indeks langsung
11.Struktur data

Jawapan: D · (i + 1) mod n

Mengapa ini jawapannya

Operasi modulo memusingkan indeks n − 1 kembali ke 0, jadi tatasusunan digunakan semula tanpa menganjak elemen.

Jawapan

D · (i + 1) mod n
12.Struktur data

Jawapan: B · Untuk mengelak perubahan saiz berulang apabila push dan pop berselang-seli berhampiran sempadan

Mengapa ini jawapannya

Mengecil pada separuh boleh mencetuskan perubahan saiz pada setiap operasi dalam urutan sedemikian; jurang antara 1/4 dan penuh mengekalkan kos teramortisasi O(1).

Jawapan

B · Untuk mengelak perubahan saiz berulang apabila push dan pop berselang-seli berhampiran sempadan
13.Teori graf

Jawapan: Litar Euler

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.

Darjah

deg(A) = 2, deg(B) = 4, deg(C) = 2, deg(D) = 2, deg(E) = 2

Bucu ganjil

0
Litar Euler

Jawapan

Litar Euler
14.Teori graf

Jawapan: G

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

1. A (0): B: 6, C: 1
2. C (1): E: 3, G: 12
3. E (3): D: 18, F: 12, G: 7
4. B (6)
5. G (7): D: 16
6. F (12): D: 14
7. D (14)

pusingan 5

G

Jawapan

G
15.Pangkalan data & SQL

Jawapan: B · 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

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

Jawapan: A · 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

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

Jawapan: A · 1 ms

Mengapa ini jawapannya

1500 bait = 12,000 bit. 12,000 / 12,000,000 bit/s = 0.001 s = 1 ms. Kelewatan penghantaran bergantung pada saiz paket dan kadar pautan, bukan jarak.

Jawapan

A · 1 ms
18.Rangkaian komputer

Jawapan: B · Penghala atau suis lapisan 3 untuk menghalakan antara VLAN

Mengapa ini jawapannya

VLAN diasingkan pada lapisan 2, maka trafik antara mereka mesti dihalakan, contohnya oleh penghala pada trunk ("router on a stick") atau suis lapisan 3.

Jawapan

B · Penghala atau suis lapisan 3 untuk menghalakan antara VLAN
19.Subnet IPv4

Jawapan: H = 2

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.252 = /30

Hos boleh guna

22 − 2 = 2

Jawapan

H = 2
20.Subnet IPv4

Jawapan: x = 254

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: ⌊248/128⌋·128 = 128
siaran: 128 + 128 − 1 = 255
hos boleh guna: 129 … 254

Jawapan

x = 254

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