พื้นฐานวิทยาการคอมพิวเตอร์: ชุดสรุปเร่งรัด

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 20 ข้อ พร้อมเฉลยละเอียดไว้ท้ายเล่ม

โจทย์ใหม่กลับไปที่รายวิชา

ในหน้าต่างพิมพ์ ให้เลือก “บันทึกเป็น PDF” เพื่อเก็บสำเนาไว้ในอุปกรณ์ของคุณ

1สูตรและวิธีทำ

ระบบเลข

ค่าประจำตำแหน่ง
ฐานสอง 2k, ฐานแปด 8k, ฐานสิบหก 16k
เป็นเลขฐานสิบ
Σ dk·bk
จากเลขฐานสิบ
หารด้วยฐาน อ่านเศษจากล่างขึ้นบน
ฐานสิบหก ↔ ฐานสอง
เลขฐานสิบหกหนึ่งหลัก = 4 บิต
two’s complement
กลับบิตแล้วบวก 1

ตรรกศาสตร์ประพจน์และการพิสูจน์

แถวของตารางค่าความจริง
2ⁿ
นัยสำคัญ (ถ้า–แล้ว)
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
นิเสธของนัย
¬(p → q) ≡ p ∧ ¬q
เงื่อนไขสองทาง
p ↔ q ≡ (p → q) ∧ (q → p)
กฎของเดอมอร์แกน
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
กฎการแจกแจง
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
นิเสธของตัวบ่งปริมาณ
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
โมดัสโพเนนส์ โมดัสโทลเลนส์
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

วิธีการ

  1. นับจำนวนตัวแปรที่ต่างกัน ตารางค่าความจริงมี 2ⁿ แถว โดยเริ่มจากแถวที่ทุกตัวเป็น 1
  2. ให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง และเติมคอลัมน์จากด้านในออกมาด้านนอก
  3. ใช้กฎของตัวเชื่อมแต่ละตัว: → เป็น 0 เฉพาะเมื่อ 1 → 0 และ ↔ เป็น 1 เมื่อทั้งสองข้างมีค่าเท่ากัน
  4. สำหรับความสมมูล ให้เปรียบเทียบคอลัมน์สุดท้ายทีละแถว สำหรับการอ้างเหตุผล ให้ดูเฉพาะแถวที่ทุกสมมติฐานเป็น 1
  5. การหานิเสธของข้อความที่มีตัวบ่งปริมาณ ให้ย้าย ¬ เข้าไปด้านใน สลับ ∀ กับ ∃ และใส่นิเสธให้สูตรด้านใน

ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

เกตพื้นฐาน
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
กฎของพีชคณิตแบบบูล
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
กฎของเดอมอร์แกน
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
ลำดับของแผนที่คาร์โนห์
00, 01, 11, 10 (Gray code)
กลุ่มของ 2ᵏ เซลล์
สูญเสีย k ตัวแปร
มัลติเพล็กเซอร์ 4 ต่อ 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
ฟลิปฟล็อป
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
ตัวนับ
n บิต: 2ⁿ สถานะ; มอด N: n ที่น้อยที่สุดที่ 2ⁿ ≥ N; fout = fclk/N
ตัวนับริปเปิล
fmax = 1/(n·tpd)
ตัวนับริงและตัวนับจอห์นสัน
n และ 2n สถานะ

วิธีการ

  1. สำหรับวงจร ให้ทำจากอินพุตไปถึงเอาต์พุตทีละเกตและเขียนค่าบนทุกเส้น หรือเขียนนิพจน์ของมันแล้วเติมตารางค่าความจริง
  2. สำหรับการทำให้ง่าย ให้ใส่ 1 (และค่าไม่สนใจเป็น X) ลงในแผนที่คาร์โนห์ที่มีแถวและคอลัมน์เรียงตามรหัสเกรย์: 00, 01, 11, 10
  3. ครอบคลุม 1 ด้วยกลุ่ม 1, 2, 4, 8 หรือ 16 เซลล์ให้น้อยที่สุดและใหญ่ที่สุดเท่าที่เป็นไปได้ โดยพันข้ามขอบ แต่ละกลุ่มคือหนึ่งพจน์ผลคูณที่ประกอบด้วยตัวแปรที่คงที่ จัดกลุ่ม 0 สำหรับรูป POS
  4. สำหรับฟลิปฟล็อปและตัวนับ ให้อ่านอินพุตที่ขอบแอ็กทีฟของสัญญาณนาฬิกาแต่ละขอบ เขียนสถานะหลังทุกขอบ และจำไว้ว่าตัวนับ n บิตวนกลับหลัง 2ⁿ สถานะ

ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

การหารที่มีเศษ
a = q·n + r, 0 ≤ r < n
ยูคลิด
gcd(a, b) = gcd(b, a mod b)
ตัวคูณร่วมน้อย
lcm(a, b) = a·b/gcd(a, b)
อินเวอร์ส
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
ความสอดคล้องเชิงเส้น
a·x ≡ b → x ≡ a⁻¹·b (mod n)
ฟังก์ชันโทเทียนต์ของออยเลอร์
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
แฟร์มา
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

วิธีการ

  1. ลดทุกจำนวนมอดูโล n ก่อน เศษจะอยู่ระหว่าง 0 ถึง n − 1
  2. สำหรับ ห.ร.ม. ให้หารซ้ำด้วยขั้นตอนวิธีของยูคลิด เศษที่ไม่เป็นศูนย์ตัวสุดท้ายคือ ห.ร.ม.
  3. สำหรับตัวผกผัน ให้ทำขั้นตอนวิธีแบบขยาย และเก็บสัมประสิทธิ์ของ a ถ้าเป็นลบให้บวก n
  4. แก้ a·x ≡ b โดยคูณด้วย a⁻¹ รวมสองความสอดคล้องโดยเขียน x = r₁ + m₁k
  5. สำหรับเลขยกกำลัง ให้เขียนเลขชี้กำลังเป็นเลขฐานสองแล้วยกกำลังสองซ้ำ ใน RSA จะได้ d = e⁻¹ mod φ(n) โดย φ(n) = (p − 1)(q − 1)

ทฤษฎีกราฟ

เล็มมาการจับมือ
Σ deg(v) = 2|E|
กราฟบริบูรณ์
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
กราฟปรกติ
|E| = n·k/2
ต้นไม้และป่า
|E| = n − 1, |E| = n − c
ใบของต้นไม้
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
ออยเลอร์
วงจร: ดีกรีเป็นคู่ทุกจุดยอด; ทางเดิน: มีดีกรีคี่พอดี 2 จุดยอด
วงจรแฮมิลตันใน Kn
(n − 1)!/2
การปรับค่าของไดก์สตรา
d(v) = min(d(v), d(u) + w(u, v))
วอล์กความยาว L
(Mᴸ)ij

วิธีการ

  1. เขียนดีกรีของทุกจุดยอด ผลบวกของดีกรีเท่ากับสองเท่าของจำนวนเส้นเชื่อม
  2. สำหรับโจทย์ออยเลอร์ ให้ตรวจว่ากราฟเชื่อมโยงกัน และนับจุดยอดที่มีดีกรีคี่
  3. สำหรับต้นไม้ ให้ใช้ว่ามี n − 1 เส้นเชื่อม และเล็มมาการจับมือ
  4. สำหรับไดก์สตรา ให้เก็บตารางระยะทางชั่วคราว และยืนยันจุดยอดที่ยังไม่ยืนยันซึ่งมีค่าน้อยที่สุดในแต่ละรอบ
  5. สำหรับต้นไม้ทอดข้ามค่าน้อยที่สุด ให้เรียงเส้นเชื่อมตามน้ำหนักและข้ามทุกเส้นที่ทำให้เกิดวัฏจักร (ครัสคัล) หรือขยายต้นไม้ต้นเดียวจากจุดยอดเริ่มต้น (พริม)

การแบ่งซับเน็ต IPv4

โฮสต์ต่อซับเน็ต
2(32 − prefix) − 2 (/31: 2, /32: 1)
ขนาดบล็อก
256 − (mask octet)
ที่อยู่เครือข่าย
IP AND มาสก์
ที่อยู่บรอดคาสต์
IP OR (NOT mask): บิตโฮสต์ทั้งหมดเป็น 1
ซับเน็ตจาก n บิตที่ยืม
2n

2โจทย์ฝึก

1.ระบบเลขปานกลาง
two's complement 8 บิต?−128?64?32?16?8?4?2?1

เขียน −88 เป็นรูปแบบ two's complement 8 บิต อ่านรูปแบบนั้นเป็นเลขฐานสองแบบไม่มีเครื่องหมาย ค่าของมัน U ในเลขฐานสิบคือเท่าใด

N = −888 bit
U =
2.ระบบเลขยาก
คลิกบิตเพื่อตั้งค่า012806403201608040201

ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 0100 1100 OR 1100 1111 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ

0100 1100OR1100 1111
R =
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
(c ∨ b) ∧ ¬a¬(c ∨ b) → ¬aa → (c ∨ b)¬a → ¬(c ∨ b)

คุณต้องการพิสูจน์ (c ∨ b) → a ด้วยการแย้งสลับที่ ควรพิสูจน์นัยใดแทน ให้คลิกนัยนั้น

(c ∨ b) → a
  1. 1(c ∨ b) ∧ ¬a
  2. 2¬(c ∨ b) → ¬a
  3. 3a → (c ∨ b)
  4. 4¬a → ¬(c ∨ b)
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
abca → (b ∨ c)ab111110101100011010001000

การอ้างเหตุผลที่มีสมมติฐาน a → (b ∨ c); a และบทสรุป b ไม่สมเหตุสมผล ให้คลิกแถวของตารางค่าความจริงที่เป็นตัวอย่างค้าน

a → (b ∨ c)a∴ b
  1. 1a = 1, b = 1, c = 1
  2. 2a = 1, b = 1, c = 0
  3. 3a = 1, b = 0, c = 1
  4. 4a = 1, b = 0, c = 0
  5. 5a = 0, b = 1, c = 1
  6. 6a = 0, b = 1, c = 0
  7. 7a = 0, b = 0, c = 1
  8. 8a = 0, b = 0, c = 0
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD000111100001111010010312140517060121130151140819011010

ใช้แผนที่คาร์โนห์หารูปผลบวกของผลคูณ (SOP) ที่น้อยที่สุดของ F(A, B, C, D) = Σm(0, 2, 4, 7, 9, 13, 14) มีกี่พจน์ผลคูณ N

F(A, B, C, D) = Σm(0, 2, 4, 7, 9, 13, 14)
N =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
DQ3​Q3​DQ2​Q2​DQ1​Q1​DQ0​Q0​CLKRING

ตัวนับริง 4 บิต Q₃Q₂Q₁Q₀ เริ่มที่ 1001 ทุกขอบสัญญาณนาฬิกา บิตเลื่อนไปทางขวาหนึ่งตำแหน่ง (Q₃ → Q₂ → Q₁ → Q₀) และ Q₃ รับค่า Q₀ จงหาสถานะ Q = Q₃Q₂Q₁Q₀ เป็นเลขฐานสิบหลัง 7 ขอบสัญญาณนาฬิกา

Q₃Q₂Q₁Q₀ = 10017
Q =
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงหาตัวผกผันของ 31 มอดูโล 79: จำนวน x ที่ 0 < x < 79 และ 31·x ≡ 1 (mod 79)

a = 31n = 79
31−1 mod 79 =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก

จงแก้ 54x ≡ 36 (mod 90) ให้คำตอบที่เป็นบวกและน้อยที่สุด x

54x ≡ 36 (mod 90)
x =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ความซับซ้อนเชิงเวลาของฟีโบนักชีแบบเรียกซ้ำตรง ๆ (fib(n) = fib(n−1) + fib(n−2)) คือ

  1. Aเอกซ์โพเนนเชียล
  2. Bเชิงเส้น
  3. Cคงที่
  4. Dลอการิทึม
10.อัลกอริทึมและความซับซ้อนยาก

n! และ 2ⁿ เปรียบเทียบกันอย่างไรเมื่อ n มาก

  1. A2ⁿ เติบโตเร็วกว่า n!
  2. Bเติบโตในอัตราเดียวกัน
  3. Cn! เป็น O(n²)
  4. Dn! เติบโตเร็วกว่า 2ⁿ
11.โครงสร้างข้อมูลปานกลาง

ทราย (trie หรือ prefix tree) มีประสิทธิภาพเป็นพิเศษสำหรับ

  1. Aการค้นหาด้วยคำนำหน้า เช่น autocomplete
  2. Bการเรียงตัวเลข
  3. Cการเก็บเมทริกซ์
  4. Dการหาเส้นทางสั้นที่สุด
12.โครงสร้างข้อมูลยาก

เวลาทำงานของการค้นหาในแนวกว้างบนกราฟที่มี V จุดยอดที่เก็บเป็นเมทริกซ์ประชิดคือเท่าใด

  1. AO(V + E)
  2. BO(V²)
  3. CO(E log V)
  4. DO(V)
13.ทฤษฎีกราฟปานกลาง

ต้นไม้มี 3 จุดยอดดีกรี 4, 4 จุดยอดดีกรี 5 และจุดยอดอื่นทั้งหมดเป็นใบ (ดีกรี 1) มีกี่ใบ L

3 × deg 44 × deg 5
L =
14.ทฤษฎีกราฟยาก
26205111318915ABCDEFG

ขั้นตอนวิธีของครัสคัลสร้างต้นไม้ทอดข้ามค่าน้อยที่สุด ให้คลิกเส้นเชื่อมที่เพิ่มเป็นเส้นหมายเลข 2 เส้นที่ถูกข้ามไม่นับ

k = 2
  1. 1เส้นเชื่อม AB
  2. 2เส้นเชื่อม AC
  3. 3เส้นเชื่อม BC
  4. 4เส้นเชื่อม CE
  5. 5เส้นเชื่อม DE
  6. 6เส้นเชื่อม DF
  7. 7เส้นเชื่อม GB
  8. 8เส้นเชื่อม GC
  9. 9เส้นเชื่อม GE
15.ฐานข้อมูลและ SQLปานกลาง

ตาราง orders มี 5 แถว โดยแต่ละแถวอ้างอิงลูกค้าที่มีอยู่ ตาราง customers มี 3 แถว INNER JOIN บน customer_id คืนกี่แถว?

  1. A8
  2. B3
  3. C15
  4. D5
16.ฐานข้อมูลและ SQLยาก

ด้วยการควบคุมภาวะพร้อมกันแบบหลายเวอร์ชัน (MVCC) ผู้อ่านหลีกเลี่ยงการบล็อกผู้เขียนได้อย่างไร?

  1. Aไม่อนุญาตผู้เขียนขณะมีผู้อ่านที่ทำงานอยู่
  2. Bผู้อ่านรอจนผู้เขียนทั้งหมด commit เสมอ
  3. Cผู้อ่านอ่านข้อมูลที่ยังไม่ commit โดยตรง
  4. Dผู้อ่านเห็นสแน็ปช็อตที่สอดคล้องของเวอร์ชันแถวที่ commit แล้ว ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่
17.เครือข่ายคอมพิวเตอร์ปานกลาง

ไฟร์วอลล์แบบเก็บสถานะ (stateful) ต่างจากตัวกรองแพ็กเก็ตแบบง่ายอย่างไร?

  1. Aบล็อกทราฟฟิกขาเข้าทั้งหมดโดยไม่มีข้อยกเว้น รวมถึงการตอบกลับคำขอขาออก
  2. Bตรวจเฉพาะที่อยู่ MAC ของแต่ละเฟรม
  3. Cติดตามการเชื่อมต่อและอนุญาตการตอบกลับที่เป็นของเซสชันที่สร้างไว้แล้ว
  4. Dเข้ารหัสทุกแพ็กเก็ตที่ส่งต่อ
18.เครือข่ายคอมพิวเตอร์ยาก

ตามสูตรของไนควิสต์ (Nyquist) อัตราบิตสูงสุดของช่องสัญญาณ 3 kHz ที่ไม่มีสัญญาณรบกวนและใช้ระดับสัญญาณ 4 ระดับคือเท่าใด?

  1. A24 kbit/s
  2. B6 kbit/s
  3. C3 kbit/s
  4. D12 kbit/s
19.การแบ่งซับเน็ต IPv4ปานกลาง
/?11111111111111111111111110000000บิตเครือข่ายบิตโฮสต์

แผนกหนึ่งต้องการที่อยู่โฮสต์ 101 ที่อยู่ในซับเน็ตเดียว ความยาวพรีฟิกซ์ที่ยาวที่สุด p (ซับเน็ตเล็กที่สุด) ที่ใหญ่พอคือเท่าใด

101 hosts
p =
20.การแบ่งซับเน็ต IPv4ยาก

เครือข่าย 192.168.132.0/24 ถูกแบ่งด้วย VLSM สำหรับ LAN เหล่านี้: A: 30 โฮสต์, B: 43 โฮสต์, C: 5 โฮสต์, D: 11 โฮสต์, E: 25 โฮสต์ ซับเน็ตถูกจัดสรรจาก .0 ขึ้นไป โดย LAN ที่มีโฮสต์มากที่สุดมาก่อน แต่ละ LAN ได้ซับเน็ตที่เล็กที่สุดที่พอดี ออกเท็ตที่สี่ x ของที่อยู่เครือข่ายของ LAN A คือเท่าใด

A: 30B: 43C: 5D: 11E: 25
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 168

ระบบเลขตามตำแหน่ง: แต่ละหลักมีค่าเท่ากับค่าของหลักนั้นคูณกำลังของฐาน ในเลขฐานสองแต่ละตำแหน่งมีค่า 1, 2, 4, 8, 16, …; ในเลขฐานสิบหก 1, 16, 256, … โดย A–F แทน 10–15 ในระบบ two's complement 8 บิต บิตซ้ายสุดมีค่า −128 แทนที่จะเป็น +128 ซึ่งเป็นวิธีเก็บจำนวนลบ

กลับบิตแล้วบวกหนึ่ง

88 = 0101 1000
ที่กลับบิตแล้ว: 1010 0111
+1 → 1010 1000

อ่านเป็นแบบไม่มีเครื่องหมาย

1010 1000₂ = 256 − 88 = 168

คำตอบ

U = 168
2.ระบบเลข

คำตอบ: R = 207

การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน

ทีละบิต

OR ให้ 1 เมื่ออย่างน้อยหนึ่งบิตเป็น 1

0100 1100
OR 1100 1111
= 1100 1111

ค่าของผลลัพธ์

1100 1111₂ = 207

คำตอบ

R = 207
3.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: ¬a → ¬(c ∨ b)

ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (tautology) เป็น 1 ทุกแถว ขัดแย้ง (contradiction) เป็น 0 ทุกแถว และ contingency ไม่ใช่ทั้งสองอย่าง กฎที่มีประโยชน์: กฎของเดอมอร์แกน ¬(a ∧ b) ≡ ¬a ∨ ¬b และ ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (การแย้งสลับที่); ¬(a → b) ≡ a ∧ ¬b; และกฎการแจกแจง a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c)

ส่วนต่าง ๆ ของนัย

a = c ∨ b, b = a

การแย้งสลับที่

¬b → ¬a = ¬a → ¬(c ∨ b)

คำตอบ

¬a → ¬(c ∨ b)

การแย้งสลับที่สมมูลกับประโยคเดิม ดังนั้นการพิสูจน์การแย้งสลับที่ก็พิสูจน์ประโยคเดิม

4.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: a = 1, b = 0, c = 1

ตัวบ่งปริมาณและการอ้างเหตุผล: ¬∀x P(x) ≡ ∃x ¬P(x) และ ¬∃x P(x) ≡ ∀x ¬P(x) ย้ายนิเสธเข้าด้านใน สลับทุกตัวบ่งปริมาณที่นิเสธผ่าน และใส่นิเสธให้สูตรด้านในด้วยกฎของประพจน์ เช่น ¬(a → b) ≡ a ∧ ¬b การอ้างเหตุผลสมเหตุสมผลเมื่อบทสรุปเป็น 1 ในทุกแถวที่สมมติฐานทั้งหมดเป็น 1 แถวเดียวที่สมมติฐานเป็นจริงแต่บทสรุปเป็นเท็จคือตัวอย่างค้านและแสดงว่าการอ้างเหตุผลนั้นไม่สมเหตุสมผล

สมมติฐานและบทสรุปทีละแถว

a = 1, b = 1, c = 1: 1 1 | 1
a = 1, b = 1, c = 0: 1 1 | 1
a = 1, b = 0, c = 1: 1 1 | 0
a = 1, b = 0, c = 0: 0 1 | 0
a = 0, b = 1, c = 1: 1 0 | 1
a = 0, b = 1, c = 0: 1 0 | 1
a = 0, b = 0, c = 1: 1 0 | 0
a = 0, b = 0, c = 0: 1 0 | 0

ตัวอย่างค้าน

a = 1, b = 0, c = 1

คำตอบ

a = 1, b = 0, c = 1

การอ้างเหตุผลรูปแบบนี้ดูเหมือนกฎที่สมเหตุสมผล แต่แถวเดียวก็เพียงพอที่จะแสดงว่าไม่ใช่

5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: N = 5

แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด

ABCD000111100001111010010312140517060121130151140819011010

จัดกลุ่ม 1

ทุกกลุ่มเป็นสี่เหลี่ยมของ 2ᵏ เซลล์ เซลล์ที่ขอบเป็นเพื่อนบ้านของเซลล์ที่ขอบตรงข้าม

A′C′D′
AC′D
A′B′D′
A′BCD
ABCD′

รูป SOP ที่น้อยที่สุด

F = A′C′D′ + AC′D + A′B′D′ + A′BCD + ABCD′
N = 5

คำตอบ

N = 5
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: Q = 3

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา D คัดลอกอินพุต (Q⁺ = D); T สลับค่าเมื่อ T = 1; JK คงค่าสำหรับ 00 รีเซ็ตสำหรับ 01 เซตสำหรับ 10 และสลับค่าสำหรับ 11 ตัวนับฐานสอง n บิตมี 2ⁿ สถานะและนับมอดูโล 2ⁿ ตัวนับมอด N นับ 0, 1, …, N − 1 แล้ววนกลับเป็น 0 และต้องใช้ฟลิปฟล็อปจำนวน n ที่น้อยที่สุดที่ 2ⁿ ≥ N แต่ละภาคของตัวนับริปเปิลลดความถี่ลงครึ่งหนึ่ง ดังนั้นเอาต์พุตสุดท้ายของตัวนับมอด N ทำงานที่ fclk/N ตัวนับจอห์นสันที่มีฟลิปฟล็อป n ตัวมี 2n สถานะ ตัวนับริงมี n

สถานะหลังทุกขอบ

1001 → 1100 → 0110 → 0011 → 1001 → 1100 → 0110 → 0011

ค่าฐานสิบ

0011₂ = 3

คำตอบ

Q = 3
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: 31−1 mod 79 = 51

ตัวผกผันและความสอดคล้อง: a มีตัวผกผันมอดูโล n เมื่อ gcd(a, n) = 1 เท่านั้น ขั้นตอนวิธีของยูคลิดแบบขยายเขียน 1 = s·n + t·a แล้ว a⁻¹ ≡ t (mod n) ความสอดคล้อง a·x ≡ b (mod n) ที่ gcd(a, n) = 1 มีคำตอบ x ≡ a⁻¹·b ความสอดคล้องสองข้อ x ≡ r₁ (mod m₁) และ x ≡ r₂ (mod m₂) ที่มอดูลัสเป็นจำนวนเฉพาะสัมพัทธ์กันมีคำตอบเดียวมอดูโล m₁·m₂ (ทฤษฎีบทเศษเหลือของจีน) φ(n) ของออยเลอร์นับจำนวนตั้งแต่ 1 ถึง n ที่เป็นจำนวนเฉพาะสัมพัทธ์กับ n: φ(n) = n·∏(1 − 1/p)

ขั้นตอนวิธีของยูคลิดแบบขยาย

เศษ r แต่ละตัวเขียนเป็น r ≡ t·31 (mod 79)

r = 79, t = 0
r = 31, q = 2, t = 1
r = 17, q = 1, t = −2
r = 14, q = 1, t = 3
r = 3, q = 4, t = −5
r = 2, q = 1, t = 23
r = 1, q = 2, t = −28

อินเวอร์ส

1 ≡ −28·31 (mod 79)
x = 51
ตรวจสอบ: 31·51 = 1581 = 20·79 + 1

คำตอบ

31−1 mod 79 = 51
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: x = 4

ตัวผกผันและความสอดคล้อง: a มีตัวผกผันมอดูโล n เมื่อ gcd(a, n) = 1 เท่านั้น ขั้นตอนวิธีของยูคลิดแบบขยายเขียน 1 = s·n + t·a แล้ว a⁻¹ ≡ t (mod n) ความสอดคล้อง a·x ≡ b (mod n) ที่ gcd(a, n) = 1 มีคำตอบ x ≡ a⁻¹·b ความสอดคล้องสองข้อ x ≡ r₁ (mod m₁) และ x ≡ r₂ (mod m₂) ที่มอดูลัสเป็นจำนวนเฉพาะสัมพัทธ์กันมีคำตอบเดียวมอดูโล m₁·m₂ (ทฤษฎีบทเศษเหลือของจีน) φ(n) ของออยเลอร์นับจำนวนตั้งแต่ 1 ถึง n ที่เป็นจำนวนเฉพาะสัมพัทธ์กับ n: φ(n) = n·∏(1 − 1/p)

หารด้วย gcd

gcd(54, 90) = 18
3x ≡ 2 (mod 5)

แก้ความสอดคล้องที่ลดรูปแล้ว

3−1 ≡ 2 (mod 5) → x ≡ 4 (mod 5)

คำตอบมอดูโล 90

x ∈ {4, 9, 14, 19, 24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89}
x = 4

คำตอบ

x = 4
9.อัลกอริทึมและความซับซ้อน

คำตอบ: A · เอกซ์โพเนนเชียล

เหตุผลที่เป็นคำตอบนี้

ต้นไม้การเรียกเติบโตประมาณ φⁿ (ราว 1.618ⁿ) การทำ memoisation ลดเหลือ O(n)

คำตอบ

A · เอกซ์โพเนนเชียล
10.อัลกอริทึมและความซับซ้อน

คำตอบ: D · n! เติบโตเร็วกว่า 2ⁿ

เหตุผลที่เป็นคำตอบนี้

สำหรับ n ≥ 4 ค่า n! เกิน 2ⁿ และอัตราส่วนเติบโตไม่มีขอบเขต เพราะตัวคูณเพิ่มเติมแต่ละตัวของ n! ใหญ่กว่า 2

คำตอบ

D · n! เติบโตเร็วกว่า 2ⁿ
11.โครงสร้างข้อมูล

คำตอบ: A · การค้นหาด้วยคำนำหน้า เช่น autocomplete

เหตุผลที่เป็นคำตอบนี้

Trie เก็บสตริงด้วยอักขระตามเส้นทาง การค้นหาและคำถามคำนำหน้าจึงใช้เวลาแปรผันตามความยาวคีย์

คำตอบ

A · การค้นหาด้วยคำนำหน้า เช่น autocomplete
12.โครงสร้างข้อมูล

คำตอบ: B · O(V²)

เหตุผลที่เป็นคำตอบนี้

จุดยอดทั้ง V สแกนแถวที่มี V ช่อง ได้ O(V²) ส่วนรายการประชิดทำให้ BFS เป็น O(V + E)

คำตอบ

B · O(V²)
13.ทฤษฎีกราฟ

คำตอบ: L = 20

ออยเลอร์ แฮมิลตัน และต้นไม้: กราฟเชื่อมโยงมีวงจรออยเลอร์ (ผ่านทุกเส้นเชื่อมครั้งเดียวและกลับจุดเริ่มต้น) เมื่อทุกจุดยอดมีดีกรีคู่ และมีทางเดินออยเลอร์ที่ไม่ใช่วงจรเมื่อมีจุดยอดดีกรีคี่พอดีสองจุด ทางเดินนั้นไปจากจุดยอดคี่จุดหนึ่งถึงอีกจุดหนึ่ง วงจรแฮมิลตันผ่านทุกจุดยอดครั้งเดียว Kn มีวงจรแบบนี้ (n − 1)!/2 วงจร ต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม และกราฟเชื่อมโยงที่มี m เส้นเชื่อมจะเหลือต้นไม้ทอดข้ามหลังเอาเส้นเชื่อมออก m − n + 1 เส้น

เล็มมาการจับมือสำหรับต้นไม้

L + 32 = 2(L + 7) − 2
L = 20

คำตอบ

L = 20

ทางลัด: L = 2 + Σ (d − 2) ของจุดยอดที่มีดีกรี d ≥ 3

14.ทฤษฎีกราฟ

คำตอบ: เส้นเชื่อม CE

เส้นทางที่สั้นที่สุดและต้นไม้ทอดข้าม: ขั้นตอนวิธีของไดก์สตรายืนยันหนึ่งจุดยอดต่อรอบ: จุดยอดที่ยังไม่ยืนยันซึ่งมีระยะทางชั่วคราวน้อยที่สุด ระยะทางของมันเป็นค่าสุดท้ายแล้ว และเพื่อนบ้าน v ทุกจุดได้ d(v) = min(d(v), d(u) + w(u, v)) ขั้นตอนวิธีของครัสคัลสร้างต้นไม้ทอดข้ามค่าน้อยที่สุดโดยเลือกเส้นเชื่อมจากเบาไปหนักและข้ามเส้นที่ทำให้เกิดวัฏจักร ขั้นตอนวิธีของพริมขยายต้นไม้หนึ่งต้นจากจุดยอดเริ่มต้นโดยเพิ่มเส้นเชื่อมที่เบาที่สุดที่ออกจากต้นไม้เสมอ ต้นไม้ทอดข้ามที่มี n จุดยอดมี n − 1 เส้นเชื่อม

ขั้นตอนวิธีของครัสคัล

1. AB (2)
2. CE (5)
3. AC (6)
4. GC (9)
5. DE (11)
6. DF (13)

เส้นเชื่อมหมายเลข 2

CE

คำตอบ

เส้นเชื่อม CE
15.ฐานข้อมูลและ SQL

คำตอบ: D · 5

เหตุผลที่เป็นคำตอบนี้

ทุกคำสั่งซื้อพบลูกค้าที่ตรงกันหนึ่งคนพอดี การเชื่อมจึงคืนหนึ่งแถวต่อคำสั่งซื้อ: 5 แถว

คำตอบ

D · 5
16.ฐานข้อมูลและ SQL

คำตอบ: D · ผู้อ่านเห็นสแน็ปช็อตที่สอดคล้องของเวอร์ชันแถวที่ commit แล้ว ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่

เหตุผลที่เป็นคำตอบนี้

MVCC เก็บเวอร์ชันแถวเก่าไว้ ผู้อ่านจึงเห็นข้อมูล ณ เวลาสแน็ปช็อตของตน ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่แทนการเขียนทับ

คำตอบ

D · ผู้อ่านเห็นสแน็ปช็อตที่สอดคล้องของเวอร์ชันแถวที่ commit แล้ว ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่
17.เครือข่ายคอมพิวเตอร์

คำตอบ: C · ติดตามการเชื่อมต่อและอนุญาตการตอบกลับที่เป็นของเซสชันที่สร้างไว้แล้ว

เหตุผลที่เป็นคำตอบนี้

ไฟร์วอลล์แบบเก็บสถานะเก็บตารางการเชื่อมต่อที่ใช้งานอยู่ ทราฟฟิกขากลับจึงได้รับอนุญาตโดยอัตโนมัติ ตัวกรองแบบไม่เก็บสถานะตัดสินแต่ละแพ็กเก็ตแยกกัน

คำตอบ

C · ติดตามการเชื่อมต่อและอนุญาตการตอบกลับที่เป็นของเซสชันที่สร้างไว้แล้ว
18.เครือข่ายคอมพิวเตอร์

คำตอบ: D · 12 kbit/s

เหตุผลที่เป็นคำตอบนี้

2 × 3000 × log₂ 4 = 2 × 3000 × 2 = 12,000 bit/s ระดับที่มากขึ้นเพิ่มอัตราได้ แต่สัญญาณรบกวนจำกัดจำนวนระดับที่แยกแยะได้

คำตอบ

D · 12 kbit/s
19.การแบ่งซับเน็ต IPv4

คำตอบ: p = 25

การแบ่งซับเน็ต IPv4: ที่อยู่มี 32 บิต พรีฟิกซ์ /p บอกว่าบิตนำหน้ากี่บิตระบุเครือข่าย ส่วน 32 − p บิตที่เหลือใช้ระบุเลขโฮสต์ ซับเน็ตมี 2³²⁻ᵖ ที่อยู่ แต่ที่อยู่แรก (ที่อยู่เครือข่าย) และที่อยู่สุดท้าย (ที่อยู่บรอดคาสต์) ใช้เป็นโฮสต์ไม่ได้ จึงมีโฮสต์ได้ 2³²⁻ᵖ − 2 เครื่อง ข้อยกเว้น: /31 (ลิงก์แบบจุดต่อจุด, RFC 3021) ใช้ทั้ง 2 แอดเดรสสำหรับโฮสต์ และ /32 เป็นแอดเดรสเดียว (โฮสต์เดียวหรือลูปแบ็ก)

บิตโฮสต์ที่ต้องใช้

26 − 2 = 62 < 101
27 − 2 = 126 ≥ 101 → h = 7

ความยาวพรีฟิกซ์

p = 32 − 7 = 25

คำตอบ

p = /25
20.การแบ่งซับเน็ต IPv4

คำตอบ: x = 64

VLSM: แต่ละ LAN ได้ซับเน็ตที่เล็กที่สุดที่ 2ʰ − 2 ≥ จำนวนโฮสต์ของมัน คือพรีฟิกซ์ 32 − h การจัดสรรซับเน็ตที่ใหญ่ที่สุดก่อนทำให้ทุกบล็อกอยู่ในแนวพหุคูณของขนาดตัวเอง ที่อยู่เครือข่ายจึงได้จากการบวกขนาดบล็อก

ขนาดบล็อกของแต่ละ LAN

B: 43 โฮสต์ → 26 = 64 (/26)
A: 30 โฮสต์ → 25 = 32 (/27)
E: 25 โฮสต์ → 25 = 32 (/27)
D: 11 โฮสต์ → 24 = 16 (/28)
C: 5 โฮสต์ → 23 = 8 (/29)

การจัดสรร จากใหญ่ที่สุดก่อน

B: .0 – .63
A: .64 – .95
E: .96 – .127
D: .128 – .143
C: .144 – .151

คำตอบ

x = 64

LAN A: 192.168.132.64/27

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