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

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

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

1100 10008 bit
N =
2.ระบบเลขยาก
รหัส 1284 ตัว, b = ? บิต?2ᵇ⁻¹…?4?2?1

ระบบต้องให้รหัสฐานสองความยาวเท่ากันแก่สิ่งของ 1284 ชิ้น ชิ้นละหนึ่งรหัส ต้องใช้อย่างน้อยกี่บิต b

1284
b = bit
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
q → r¬r → ¬q¬r ∨ qr ∨ ¬q

สูตรใดสมมูลเชิงตรรกะกับ r → q ให้คลิกสูตรนั้น

r → q
  1. 1q → r
  2. 2¬r → ¬q
  3. 3¬r ∨ q
  4. 4r ∨ ¬q
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
∃x A(x)∃x ¬A(x)∀x A(x)∀x ¬A(x)

ประโยคใดสมมูลกับ ¬∀x A(x) เมื่อย้ายนิเสธเข้าด้านในสุด ให้คลิกประโยคนั้น

¬∀x A(x)
  1. 1∃x A(x)
  2. 2∃x ¬A(x)
  3. 3∀x A(x)
  4. 4∀x ¬A(x)
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD00011110000111101111111

ในแผนที่คาร์โนห์นี้มี 1 เพียงตัวเดียวพอดีที่ไม่มี 1 อยู่ติดกัน จึงยังเป็นกลุ่มหนึ่งเซลล์ (มินเทอมเต็มที่มีสี่ลิเทอรัล) ในรูป SOP ที่น้อยที่สุด เพื่อนบ้านข้ามขอบแผนที่นับด้วย ให้คลิกเซลล์นั้น

F = Σm(3, 6, 8, 9, 10, 11, 12)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
CLKJK1234567

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

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

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

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

24x ≡ 12 (mod 90) มีกี่คำตอบ N ใน {0, 1, …, 89}

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

เหตุใดการโปรแกรมพลวัตจึงไม่ช่วยเร่ง merge sort ได้จริง

  1. AMerge sort เป็น O(n) อยู่แล้ว
  2. Bปัญหาย่อยของมันไม่ซ้อนทับกัน จึงไม่มีอะไรให้ใช้ซ้ำ
  3. CMerge sort ไม่มีโครงสร้างแบบเรียกซ้ำ
  4. Dการโปรแกรมพลวัตใช้ได้กับปัญหากราฟเท่านั้น ไม่ใช่กับอาร์เรย์
10.อัลกอริทึมและความซับซ้อนยาก

ต้นทุนแบบกระจายของการเพิ่มค่าตัวนับฐานสองหนึ่งครั้งคือเท่าใด เมื่อการเพิ่มหนึ่งครั้งอาจพลิกหลายบิต

  1. AO(1) ต่อการเพิ่มหนึ่งครั้ง
  2. BO(log n) ต่อการเพิ่มหนึ่งครั้ง
  3. CO(n log n) ต่อการเพิ่มหนึ่งครั้ง
  4. DO(n) ต่อการเพิ่มหนึ่งครั้ง
11.โครงสร้างข้อมูลปานกลาง

คิวถูกสร้างด้วยสแตกสองตัว: push ลงสแตก "in" และ pop จากสแตก "out" โดยเติมจาก "in" เมื่อว่าง ต้นทุนกระจายต่อการดำเนินการคือเท่าใด

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

ข้อใดเกี่ยวกับ heapsort ถูกต้อง

  1. Aเสถียรและต้องใช้หน่วยความจำเพิ่ม O(n)
  2. Bต้องใช้ binary search tree เป็นที่เก็บเพิ่มเติม จึงใช้หน่วยความจำเพิ่ม O(n)
  3. Cทำงานใน O(n) กับอินพุตใด ๆ
  4. Dเรียงในที่เดิมใน O(n log n) กรณีเลวร้ายที่สุด แต่ไม่เสถียร
13.ทฤษฎีกราฟปานกลาง
ABCDEFGวงจรออยเลอร์ทางเดินออยเลอร์ ไม่มีวงจรไม่ใช่ทั้งสองอย่าง

กราฟเชื่อมโยงนี้มีวงจรออยเลอร์ ทางเดินออยเลอร์ที่ไม่ใช่วงจร หรือไม่มีทั้งสองอย่าง ให้คลิกคำตอบของคุณ

|V| = 7|E| = 7
  1. 1วงจรออยเลอร์
  2. 2ทางเดินออยเลอร์ ไม่มีวงจร
  3. 3ไม่ใช่ทั้งสองอย่าง
14.ทฤษฎีกราฟยาก
151513629765ABCDEF

ใช้ขั้นตอนวิธีของไดก์สตราเพื่อหาความยาว d(F) ของเส้นทางที่สั้นที่สุดจาก A ไป F ในกราฟถ่วงน้ำหนัก

เริ่มต้น: Aสิ้นสุด: F
d(F) =
15.ฐานข้อมูลและ SQLปานกลาง

คิวรีใดคืนเงินเดือนสูงสุดในแต่ละแผนก?

  1. ASELECT MAX(dept), salary FROM emp GROUP BY salary
  2. BSELECT dept, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT dept, salary FROM emp WHERE salary = MAX(salary)
  4. DSELECT dept, MAX(salary) FROM emp GROUP BY dept
16.ฐานข้อมูลและ SQLยาก

ตาราง b มีค่า 1, 2 และ NULL ในคอลัมน์ y SELECT * FROM a WHERE x NOT IN (SELECT y FROM b) คืนอะไร?

  1. Aไม่มีแถวเลย
  2. Bแถวของ a ที่ x ไม่ใช่ 1 หรือ 2
  3. Cทุกแถวของ a
  4. Dเฉพาะแถวของ a ที่ x เป็น NULL
17.เครือข่ายคอมพิวเตอร์ปานกลาง

HTTP เป็นแบบไม่เก็บสถานะ (stateless) เว็บไซต์มักทำให้ผู้ใช้ล็อกอินค้างอยู่ข้ามคำขอได้อย่างไร?

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

การบล็อกหัวแถว (head-of-line blocking) ใน HTTP/2 บน TCP เกิดขึ้นเพราะ:

  1. AHTTP/2 ใช้ UDP
  2. Bแต่ละคำขอต้องใช้การเชื่อมต่อ TCP ใหม่ของตนเอง คำขอที่ตามมาจึงต้องรอในคิว
  3. Cเซกเมนต์ TCP ที่สูญหายทำให้ทุกสตรีมที่มัลติเพล็กซ์ล่าช้าจนกว่าจะส่งซ้ำ
  4. Dเซิร์ฟเวอร์รองรับคำขอแบบขนานไม่ได้
19.การแบ่งซับเน็ต IPv4ปานกลาง
/?11111111111111111111110000000000บิตเครือข่ายบิตโฮสต์

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

1000 hosts
p =
20.การแบ่งซับเน็ต IPv4ยาก
ออกเท็ตที่สาม = 205112816403201618140211เครือข่ายโฮสต์

โฮสต์มีที่อยู่ 172.20.205.46/18 ออกเท็ตที่สาม x ของที่อยู่บรอดแคสต์ของซับเน็ตมันคือเท่าใด

172.20.205.46/18
x =

3สารละลาย

1.ระบบเลข

คำตอบ: N = −56

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

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

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

−128 + 64 + 8 = −56

คำตอบ

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

คำตอบ: b = 11 bit

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

กำลังของสอง

210 = 1024 < 1284
211 = 2048 ≥ 1284

คำตอบ

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

คำตอบ: ¬r ∨ q

ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (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 → b เป็น 0 เฉพาะเมื่อ a = 1 และ b = 0 ดังนั้นจึงเท่ากับ ¬a ∨ b
r → q ≡ ¬r ∨ q

ตรวจสอบด้วยตารางค่าความจริง

q = 1, r = 1: 1 | 1 1 1 1
q = 1, r = 0: 1 | 0 0 1 0
q = 0, r = 1: 0 | 1 1 0 1
q = 0, r = 0: 1 | 1 1 1 1

คำตอบ

¬r ∨ q

คอลัมน์หลังเส้นคั่นคือตัวเลือกตามลำดับที่แสดง

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

คำตอบ: ∃x ¬A(x)

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

ย้ายนิเสธเข้าด้านใน

¬∀x A(x) ≡ ∃x ¬A(x)

คำตอบ

∃x ¬A(x)

ตัวเลือกอื่นอาจคงตัวบ่งปริมาณไว้ไม่เปลี่ยน เปลี่ยนลำดับของตัวบ่งปริมาณ หรือใส่นิเสธให้สูตรด้านในผิด

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

คำตอบ: AB = 01, CD = 10

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

เพื่อนบ้านของแต่ละ 1

1 ที่มี 1 อยู่ติดกันเข้ากลุ่มสองเซลล์หรือมากกว่าได้

m6: m7, m4, m2, m14 → 0
ABCD00011110000111101111111

1 ที่อยู่โดดเดี่ยว

m6 = A′BCD′ → AB = 01, CD = 10

คำตอบ

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

คำตอบ: N = 5

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา 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 = 0 → Q = 1
2: J = 1, K = 1 → Q = 0
3: J = 0, K = 0 → Q = 0
4: J = 1, K = 0 → Q = 1
5: J = 0, K = 0 → Q = 1
6: J = 0, K = 1 → Q = 0
7: J = 1, K = 0 → Q = 1

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

0 → 1 → 0 → 0 → 1 → 1 → 0 → 1
N = 5

คำตอบ

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

คำตอบ: 17−1 mod 94 = 83

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

r = 94, t = 0
r = 17, q = 5, t = 1
r = 9, q = 1, t = −5
r = 8, q = 1, t = 6
r = 1, q = 8, t = −11

อินเวอร์ส

1 ≡ −11·17 (mod 94)
x = 83
ตรวจสอบ: 17·83 = 1411 = 15·94 + 1

คำตอบ

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

คำตอบ: N = 6

ตัวผกผันและความสอดคล้อง: 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(24, 90) = 6
4x ≡ 2 (mod 15)

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

4−1 ≡ 4 (mod 15) → x ≡ 8 (mod 15)

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

x ∈ {8, 23, 38, 53, 68, 83}
N = 6

คำตอบ

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

คำตอบ: B · ปัญหาย่อยของมันไม่ซ้อนทับกัน จึงไม่มีอะไรให้ใช้ซ้ำ

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

ครึ่งของ merge sort ไม่ซ้อนกันและแต่ละส่วนถูกแก้ครั้งเดียว DP ช่วยเฉพาะเมื่อปัญหาย่อยเกิดซ้ำ เช่น ฟีโบนักชี

คำตอบ

B · ปัญหาย่อยของมันไม่ซ้อนทับกัน จึงไม่มีอะไรให้ใช้ซ้ำ
10.อัลกอริทึมและความซับซ้อน

คำตอบ: A · O(1) ต่อการเพิ่มหนึ่งครั้ง

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

ตลอดการเพิ่ม n ครั้ง บิต i พลิกประมาณ n / 2ⁱ ครั้ง ผลรวมจึงน้อยกว่า 2n การพลิก เฉลี่ย O(1) ต่อครั้ง

คำตอบ

A · O(1) ต่อการเพิ่มหนึ่งครั้ง
11.โครงสร้างข้อมูล

คำตอบ: B · O(1)

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

แต่ละสมาชิกถูก push และ pop ไม่เกินสองครั้งรวม แม้การเติมหนึ่งครั้งอาจใช้ O(n) ค่าเฉลี่ยตลอดลำดับเป็น O(1)

คำตอบ

B · O(1)
12.โครงสร้างข้อมูล

คำตอบ: D · เรียงในที่เดิมใน O(n log n) กรณีเลวร้ายที่สุด แต่ไม่เสถียร

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

Heapsort สร้าง max-heap และดึงค่าสูงสุดออก n ครั้งภายในอาร์เรย์เดียวกัน การสลับระยะไกลอาจจัดเรียงคีย์ที่เท่ากันใหม่

คำตอบ

D · เรียงในที่เดิมใน O(n log n) กรณีเลวร้ายที่สุด แต่ไม่เสถียร
13.ทฤษฎีกราฟ

คำตอบ: ไม่ใช่ทั้งสองอย่าง

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

ดีกรี

deg(A) = 1, deg(B) = 3, deg(C) = 3, deg(D) = 2, deg(E) = 1, deg(F) = 1, deg(G) = 3

จุดยอดคี่

A, B, C, E, F, G → 6
ไม่ใช่ทั้งสองอย่าง

คำตอบ

ไม่ใช่ทั้งสองอย่าง
14.ทฤษฎีกราฟ

คำตอบ: d(F) = 23

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

ไดก์สตราทีละรอบ

แต่ละบรรทัด: จุดยอดที่ยืนยัน ระยะทางสุดท้ายของมัน และเพื่อนบ้านที่ระยะทางดีขึ้น

A (0): B: 15, C: 15
B (15): D: 21, E: 20
C (15): E: 17
E (17): F: 23
D (21)
F (23)

เส้นทางที่สั้นที่สุด

A → C → E → F
d(F) = 23

คำตอบ

d(F) = 23
15.ฐานข้อมูลและ SQL

คำตอบ: D · SELECT dept, MAX(salary) FROM emp GROUP BY dept

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

GROUP BY dept สร้างหนึ่งกลุ่มต่อแผนก และ MAX(salary) เลือกค่าสูงสุดในแต่ละกลุ่ม

คำตอบ

D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
16.ฐานข้อมูลและ SQL

คำตอบ: A · ไม่มีแถวเลย

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

การเปรียบเทียบกับ NULL เป็น UNKNOWN เงื่อนไขทั้งหมดจึงไม่เคยเป็น TRUE การใช้ NOT EXISTS หรือกรอง NULL ออกหลีกเลี่ยงกับดักนี้ได้

คำตอบ

A · ไม่มีแถวเลย
17.เครือข่ายคอมพิวเตอร์

คำตอบ: B · ด้วยคุกกี้ที่เก็บตัวระบุเซสชันหรือโทเค็น

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

เซิร์ฟเวอร์ตั้งคุกกี้ที่มี session ID หรือโทเค็น และเบราว์เซอร์ส่งกลับไปกับทุกคำขอ เซิร์ฟเวอร์จึงจำผู้ใช้ได้

คำตอบ

B · ด้วยคุกกี้ที่เก็บตัวระบุเซสชันหรือโทเค็น
18.เครือข่ายคอมพิวเตอร์

คำตอบ: C · เซกเมนต์ TCP ที่สูญหายทำให้ทุกสตรีมที่มัลติเพล็กซ์ล่าช้าจนกว่าจะส่งซ้ำ

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

TCP ส่งไบต์ตามลำดับ การสูญหายครั้งเดียวจึงทำให้ทุกสตรีมในการเชื่อมต่อหยุดชะงัก QUIC (HTTP/3) จัดการสตรีมแยกกันบน UDP

คำตอบ

C · เซกเมนต์ TCP ที่สูญหายทำให้ทุกสตรีมที่มัลติเพล็กซ์ล่าช้าจนกว่าจะส่งซ้ำ
19.การแบ่งซับเน็ต IPv4

คำตอบ: p = 22

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

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

29 − 2 = 510 < 1000
210 − 2 = 1022 ≥ 1000 → h = 10

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

p = 32 − 10 = 22

คำตอบ

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

คำตอบ: x = 255

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

ขนาดบล็อกในออกเท็ตที่สาม

26 = 64

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

เครือข่าย: 172.20.192.0
บรอดคาสต์: 172.20.255.255

คำตอบ

x = 255

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