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

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 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 complement1−12806403211608040201

รูปแบบ 8 บิต 1001 0000 เก็บจำนวนเต็มมีเครื่องหมายแบบ two's complement ค่าของมัน N ในเลขฐานสิบคือเท่าใด

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

ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 1010 0001 << 2 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ

1010 0001<< 2
R =
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
pqrr ↔ q(r ↔ q) ∨ p(p → (r ∨ q)) ∧ ((r ↔ q) ∨ p)111?110?101?100?011?010?001?000?

ในตารางค่าความจริง 8 แถวของ (p → (r ∨ q)) ∧ ((r ↔ q) ∨ p) มีกี่แถวที่เป็นจริง เรียกจำนวนนี้ว่า N

(p → (r ∨ q)) ∧ ((r ↔ q) ∨ p)
N =
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
¬c¬aa ∧ ¬cc

กำหนดสมมติฐาน a → c; a บทสรุปใดตามมาจากสมมติฐานเหล่านี้ ให้คลิกบทสรุปนั้น

a → ca
  1. 1¬c
  2. 2¬a
  3. 3a ∧ ¬c
  4. 4c
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABC00011110010001031204150716

ใช้แผนที่คาร์โนห์หารูปผลบวกของผลคูณ (SOP) ที่น้อยที่สุดของ F(A, B, C) = Σm(2, 5, 6) มีลิเทอรัลรวมกี่ตัว L (ตัวแปรที่มีไพรม์นับเป็นหนึ่งลิเทอรัล)

F(A, B, C) = Σm(2, 5, 6)
L =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
CLKJK1234567

ฟลิปฟล็อป JK ที่ทริกเกอร์ขอบขาขึ้นเริ่มด้วย Q = 0 และได้รับอินพุตที่แสดงที่ขอบขาขึ้นของนาฬิกา 7 ขอบ Q เปลี่ยนสถานะกี่ครั้ง N

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

จงหาฟังก์ชันโทเทียนต์ของออยเลอร์ φ(91) ซึ่งเป็นจำนวนของจำนวนเต็มตั้งแต่ 1 ถึง 91 ที่เป็นจำนวนเฉพาะสัมพัทธ์กับ 91

n = 91 = 7·13
φ(91) =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก
mc = me​ mod n479m = cd​ mod n?(n, e) = (1591, 23)d

กุญแจ RSA ใช้ p = 37, q = 43 และ e = 23 จงถอดรหัสข้อความเข้ารหัส c = 479: หาข้อความ m

p = 37q = 43e = 23c = 479
m =
9.อัลกอริทึมและความซับซ้อนปานกลาง

อัลกอริทึมใดหาเส้นทางสั้นที่สุดจากต้นทางหนึ่งในกราฟที่น้ำหนักเส้นเชื่อมไม่เป็นลบ

  1. Aการค้นหาในแนวลึก
  2. Bอัลกอริทึมของ Dijkstra
  3. Cอัลกอริทึมของ Kruskal
  4. Dต้องใช้ Bellman–Ford ในทุกกรณี
10.อัลกอริทึมและความซับซ้อนยาก

เหตุใดการค้นหาเฉลี่ยในตารางแฮชจึงเป็น O(1) แต่กรณีเลวร้ายที่สุดเป็น O(n)

  1. Aต้องเรียงคีย์ก่อน
  2. Bอาร์เรย์เข้าถึงใน O(n)
  3. Cคีย์จำนวนมากอาจชนกันไปอยู่ในถังเดียวกัน
  4. Dฟังก์ชันแฮชช้า
11.โครงสร้างข้อมูลปานกลาง

เมทริกซ์ประชิด (adjacency matrix) ของกราฟที่มี V จุดยอดใช้หน่วยความจำเท่าใด

  1. AO(V²)
  2. BO(log V)
  3. CO(E)
  4. DO(V + E)
12.โครงสร้างข้อมูลยาก

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

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

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

3 × deg 54 × deg 2
L =
14.ทฤษฎีกราฟยาก
ABCDE

มีวอล์กความยาว 2 จาก B ไป E กี่วอล์ก วอล์กอาจซ้ำจุดยอดและเส้นเชื่อมได้ เรียกจำนวนนี้ว่า N

M = เมทริกซ์ประชิดL = 2
N =
15.ฐานข้อมูลและ SQLปานกลาง

เหตุใดตารางจึงมีดัชนีคลัสเตอร์ได้เพียงหนึ่งดัชนี?

  1. Aมาตรฐาน SQL ห้ามมีดัชนีมากกว่าหนึ่งดัชนีต่อตาราง
  2. Bแถวเก็บทางกายภาพได้เพียงลำดับเดียว
  3. Cดัชนีคลัสเตอร์อยู่ได้เฉพาะบนคีย์หลัก
  4. Dดัชนีคลัสเตอร์ใช้หน่วยความจำมากเกินไป
16.ฐานข้อมูลและ SQLยาก

ผลลัพธ์ของ SELECT COUNT(col) FROM t คืออะไร หากค่าทั้งหมดใน col เป็น NULL และตารางมี 10 แถว?

  1. A0
  2. B10
  3. CNULL
  4. Dข้อผิดพลาด
17.เครือข่ายคอมพิวเตอร์ปานกลาง

อะไรระบุปลายด้านหนึ่งของการเชื่อมต่อ TCP บนอินเทอร์เน็ตได้อย่างไม่ซ้ำกัน?

  1. Aที่อยู่ MAC เพียงอย่างเดียว
  2. Bชื่อโดเมนเพียงอย่างเดียว
  3. Cซับเน็ตมาสก์และเกตเวย์
  4. Dที่อยู่ IP ร่วมกับหมายเลขพอร์ต
18.เครือข่ายคอมพิวเตอร์ยาก

สวิตช์ 8 พอร์ต (ไม่มี VLAN) มีหนึ่งโฮสต์ต่อพอร์ต มีคอลลิชันโดเมนและบรอดแคสต์โดเมนอย่างละกี่โดเมน?

  1. A1 คอลลิชันโดเมน 1 บรอดแคสต์โดเมน
  2. B8 คอลลิชันโดเมน 8 บรอดแคสต์โดเมน
  3. C8 คอลลิชันโดเมน 1 บรอดแคสต์โดเมน
  4. D1 คอลลิชันโดเมน 8 บรอดแคสต์โดเมน
19.การแบ่งซับเน็ต IPv4ปานกลาง
/22 → /3011111111111111111111111111111100บิตเครือข่ายบิตโฮสต์

เครือข่าย 10.142.116.0/22 ถูกแบ่งเป็นซับเน็ตขนาดเท่ากันด้วยพรีฟิกซ์ /30 มีกี่ซับเน็ต N

10.142.116.0/22/30
N =
20.การแบ่งซับเน็ต IPv4ยาก
ออคเต็ตสุดท้าย = 72012816403201618040201เครือข่ายโฮสต์

โฮสต์มีที่อยู่ 10.20.83.72/28 ออคเต็ตที่สี่ x ของที่อยู่เครือข่ายคือเท่าใด

10.20.83.72/28
x =

3สารละลาย

1.ระบบเลข

คำตอบ: N = −112

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

บวกค่าประจำตำแหน่ง

บิตอื่นยังคงมีค่าเป็นบวกตามปกติ

−128 + 16 = −112

คำตอบ

N = −112
2.ระบบเลข

คำตอบ: R = 132

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

ทีละบิต

การเลื่อนซ้าย 2 ตำแหน่งย้ายทุกบิตไปทางซ้าย 2 ตำแหน่ง บิตที่หลุดออกปลายซ้ายหายไปและศูนย์เข้ามาทางขวา

1010 0001 << 2
= 1000 0100

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

1000 0100₂ = 132

คำตอบ

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

คำตอบ: N = 5

ตารางค่าความจริง: สูตรที่มีตัวแปรต่างกัน n ตัวมี 2ⁿ แถว หนึ่งแถวต่อทุกชุดของค่าความจริง (1 = จริง, 0 = เท็จ) ทำจากด้านในออกมาและให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง ¬a กลับค่า a ∧ b เป็น 1 เฉพาะเมื่อทั้งสองเป็น 1 a ∨ b เป็น 0 เฉพาะเมื่อทั้งสองเป็น 0 a → b เป็น 0 เฉพาะเมื่อ a = 1 และ b = 0 a ↔ b เป็น 1 เมื่อทั้งสองข้างเท่ากัน

ตารางค่าความจริงทีละแถว

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

นับแถวที่มีค่าเป็น 1

(p → (r ∨ q)) ∧ ((r ↔ q) ∨ p): 1, 1, 1, 0, 1, 0, 0, 1
N = 5

คำตอบ

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

คำตอบ: c

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

แถวที่สมมติฐานทั้งหมดเป็นจริง

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

สรุป

c (โมดัสโพเนนส์)

คำตอบ

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

คำตอบ: L = 5

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

ABC00011110010001031204150716

จัดกลุ่ม 1

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

BC′
AB′C

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

F = BC′ + AB′C
L = 5

คำตอบ

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

คำตอบ: N = 6

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา 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

Q หลังทุกขอบ

ฟลิปฟล็อป JK: 00 คงค่า, 01 รีเซ็ต (Q = 0), 10 เซต (Q = 1), 11 สลับค่า

1: J = 1, K = 1 → Q = 1
2: J = 1, K = 1 → Q = 0
3: J = 1, K = 1 → Q = 1
4: J = 1, K = 1 → Q = 0
5: J = 0, K = 1 → Q = 0
6: J = 1, K = 0 → Q = 1
7: J = 0, K = 1 → Q = 0

นับการเปลี่ยน

0 → 1 → 0 → 1 → 0 → 0 → 1 → 0
N = 6

คำตอบ

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

คำตอบ: φ(91) = 72

ตัวผกผันและความสอดคล้อง: 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)

ตัวประกอบเฉพาะ

91 = 7·13

โทเทียนต์

φ(91) = φ(7)·φ(13) = 6·12 = 72

คำตอบ

φ(91) = 72
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: m = 1541

เลขยกกำลังมอดูลาร์และ RSA: คำนวณ aᵏ mod n ด้วยการยกกำลังสองซ้ำ: เขียน k เป็นเลขฐานสอง ยกกำลังสอง ลดค่าหลังทุกขั้นตอน และคูณเลขยกกำลังที่บิตเป็น 1 แฟร์มา: aᵖ⁻¹ ≡ 1 (mod p) สำหรับจำนวนเฉพาะ p ที่หาร a ไม่ลงตัว ดังนั้นลดเลขชี้กำลังมอดูโล p − 1 ได้ RSA: เลือกจำนวนเฉพาะ p และ q, n = p·q และ φ(n) = (p − 1)(q − 1) เลขชี้กำลังสาธารณะ e เป็นจำนวนเฉพาะสัมพัทธ์กับ φ(n) และเลขชี้กำลังส่วนตัวคือ d = e⁻¹ mod φ(n) เข้ารหัสด้วย c = mᵉ mod n และถอดรหัสด้วย m = cᵈ mod n

เลขชี้กำลังส่วนตัว

n = 1591, φ(n) = 1512
d = 23−1 mod 1512 = 263

ถอดรหัสด้วยการยกกำลังสองซ้ำ

263 = 256 + 4 + 2 + 1
4791 ≡ 479 (mod 1591)
4792 ≡ 337 (mod 1591)
4794 ≡ 608 (mod 1591)
4798 ≡ 552 (mod 1591)
47916 ≡ 823 (mod 1591)
47932 ≡ 1154 (mod 1591)
47964 ≡ 49 (mod 1591)
479128 ≡ 810 (mod 1591)
479256 ≡ 608 (mod 1591)
479263 ≡ 479·337·608·608 ≡ 1541 (mod 1591)

ข้อความ

m = 1541
ตรวจสอบ: 154123 mod 1591 = 479

คำตอบ

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

คำตอบ: B · อัลกอริทึมของ Dijkstra

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

อัลกอริทึมของ Dijkstra ใช้ได้กับน้ำหนักที่ไม่เป็นลบ ส่วน Bellman–Ford รองรับน้ำหนักติดลบ และ Kruskal สร้างต้นไม้ทอดข้ามที่น้อยที่สุด

คำตอบ

B · อัลกอริทึมของ Dijkstra
10.อัลกอริทึมและความซับซ้อน

คำตอบ: C · คีย์จำนวนมากอาจชนกันไปอยู่ในถังเดียวกัน

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

เมื่อมีฟังก์ชันแฮชที่ดีและตัวประกอบการโหลดเหมาะสม ถังจะสั้นโดยเฉลี่ย แต่การโจมตีหรือแฮชที่แย่อาจทำให้ทุกคีย์ไปอยู่ในถังเดียว

คำตอบ

C · คีย์จำนวนมากอาจชนกันไปอยู่ในถังเดียวกัน
11.โครงสร้างข้อมูล

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

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

เมทริกซ์ประชิดเก็บ V × V ช่อง มีประสิทธิภาพสำหรับกราฟหนาแน่น ส่วนรายการประชิดใช้ O(V + E) ดีกว่าสำหรับกราฟเบาบาง

คำตอบ

A · O(V²)
12.โครงสร้างข้อมูล

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

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

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

คำตอบ

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

คำตอบ: L = 11

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

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

L + 23 = 2(L + 7) − 2
L = 11

คำตอบ

L = 11

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

14.ทฤษฎีกราฟ

คำตอบ: N = 2

ดีกรี: ดีกรีของจุดยอดคือจำนวนเส้นเชื่อมที่มาบรรจบที่จุดนั้น เส้นเชื่อมแต่ละเส้นมีสองปลาย ดังนั้นผลบวกของดีกรีเท่ากับสองเท่าของจำนวนเส้นเชื่อม: Σ deg(v) = 2|E| (เล็มมาการจับมือ) ดังนั้นจำนวนจุดยอดที่มีดีกรีคี่เป็นจำนวนคู่ Kn มีเส้นเชื่อม n(n − 1)/2 เส้น กราฟปรกติดีกรี k ที่มี n จุดยอดมี nk/2 เส้น และต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม

เมทริกซ์ประชิด

A: 0 1 1 0 0
B: 1 0 1 1 0
C: 1 1 0 0 1
D: 0 1 0 0 1
E: 0 0 1 1 0

เพื่อนบ้านร่วม

(M²)BE = 1·0 + 0·0 + 1·1 + 1·1 + 0·0 = 2

คำตอบ

N = 2
15.ฐานข้อมูลและ SQL

คำตอบ: B · แถวเก็บทางกายภาพได้เพียงลำดับเดียว

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

ดัชนีคลัสเตอร์เรียงข้อมูลของตารางตามคีย์ และข้อมูลเก็บได้เพียงลำดับเดียว ดัชนีอื่นเป็นแบบไม่คลัสเตอร์

คำตอบ

B · แถวเก็บทางกายภาพได้เพียงลำดับเดียว
16.ฐานข้อมูลและ SQL

คำตอบ: A · 0

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

COUNT(col) นับค่าที่ไม่ใช่ NULL จึงคืน 0 ส่วน COUNT(*) จะคืน 10

คำตอบ

A · 0
17.เครือข่ายคอมพิวเตอร์

คำตอบ: D · ที่อยู่ IP ร่วมกับหมายเลขพอร์ต

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

การเชื่อมต่อ TCP ระบุด้วย IP และพอร์ตต้นทาง บวก IP และพอร์ตปลายทาง พอร์ตแยกแอปพลิเคชันจำนวนมากบนโฮสต์เดียว

คำตอบ

D · ที่อยู่ IP ร่วมกับหมายเลขพอร์ต
18.เครือข่ายคอมพิวเตอร์

คำตอบ: C · 8 คอลลิชันโดเมน 1 บรอดแคสต์โดเมน

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

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

คำตอบ

C · 8 คอลลิชันโดเมน 1 บรอดแคสต์โดเมน
19.การแบ่งซับเน็ต IPv4

คำตอบ: 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).

บิตที่ยืมมา

30 − 22 = 8

จำนวนซับเน็ต

N = 28 = 256

คำตอบ

N = 256

แต่ละซับเน็ต /30 มีโฮสต์ที่ใช้ได้ 22 − 2 = 2 โฮสต์

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

คำตอบ: x = 64

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

ขนาดบล็อก

24 = 16

ซับเน็ตของโฮสต์นี้

เครือข่าย: ⌊72/16⌋·16 = 64
บรอดคาสต์: 64 + 16 − 1 = 79
โฮสต์ที่ใช้ได้: 65 … 78

คำตอบ

x = 64

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