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

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

ตั้งบิตให้เก็บ −92 ใน two's complement 8 บิต อ่านเป็นจำนวนไม่มีเครื่องหมาย ค่าของรูปแบบ U เป็นเท่าใด

N = −928 bit
U =
2.ระบบเลขยาก
32 บิต two's complement, N = ??เครื่องหมาย???????????????????????????????

จำนวนเต็มที่ติดลบมากที่สุด N ที่เก็บได้ใน two's complement 32 บิตคือเท่าใด

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

คุณต้องการพิสูจน์ r → q ด้วยข้อขัดแย้ง ควรสมมติประโยคใดตอนเริ่มต้น ให้คลิกประโยคนั้น

r → q
  1. 1¬r → ¬q
  2. 2r ∧ ¬q
  3. 3¬r ∧ q
  4. 4¬r ∧ ¬q
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก

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

(q ∨ (s ∧ p)) ↔ ¬(p ∧ (¬s → r))
N =
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD000111100001111010110302141517060120130151140809011010

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

F(A, B, C, D) = Σm(0, 1, 4, 5, 7, 14)
N =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
CLKT1234567

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

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

จงแก้ 7x ≡ 51 (mod 53) ให้คำตอบ x ที่ 0 < x < 53

7x ≡ 51 (mod 53)
x =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก

ใช้การยกกำลังสองซ้ำเพื่อหา 25134 mod 69

a = 25k = 134n = 69
25134 mod 69 =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ความซับซ้อนเชิงเวลาในกรณีเลวร้ายที่สุดของ quicksort คือเท่าใด

  1. AO(n log n)
  2. BO(n)
  3. CO(n²)
  4. DO(log n)
10.อัลกอริทึมและความซับซ้อนยาก

การเลือกปลายทั้งสองของทุกเส้นเชื่อมใน maximal matching ให้ผลเป็นเซตครอบคลุมจุดยอด (vertex cover) เซตครอบคลุมนี้ดีเพียงใด

  1. Aไม่ทราบคุณภาพเมื่อเทียบกับค่าที่เหมาะสมที่สุด
  2. Bเป็นเซตครอบคลุมจุดยอดที่เล็กที่สุดเสมอ
  3. Cไม่เกิน log n เท่าของค่าต่ำสุด
  4. Dขนาดไม่เกินสองเท่าของเซตครอบคลุมจุดยอดที่เล็กที่สุด
11.โครงสร้างข้อมูลปานกลาง

ต้นทุนของการแทรกสมาชิกตรงกลางอาร์เรย์ที่มี n สมาชิกคือเท่าใด

  1. AO(n²) เพราะแต่ละสมาชิกย้าย n ครั้ง
  2. BO(log n) เพราะการค้นหาแบบทวิภาค
  3. CO(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน
  4. DO(1) เพราะทราบดัชนี
12.โครงสร้างข้อมูลยาก

ข้อได้เปรียบหลักของ skip list เหนือลิงก์ลิสต์ที่เรียงลำดับคืออะไร

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

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

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

จงหาน้ำหนักรวม W ของต้นไม้ทอดข้ามค่าน้อยที่สุดของกราฟถ่วงน้ำหนัก

|V| = 7|E| = 9
W =
15.ฐานข้อมูลและ SQLปานกลาง

นิพจน์ตารางร่วม (common table expression, WITH name AS (...)) ให้อะไร?

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

FULL OUTER JOIN ให้ผลลัพธ์อะไร?

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

ซับเน็ตมาสก์ใดตรงกับ /20?

  1. A255.255.224.0
  2. B255.255.255.240
  3. C255.255.240.0
  4. D255.255.248.0
18.เครือข่ายคอมพิวเตอร์ยาก

การโจมตีแบบวางยาแคช DNS (DNS cache poisoning) มีเป้าหมายเพื่อ:

  1. Aขโมยรหัสผ่าน Wi-Fi
  2. Bทำให้เซิร์ฟเวอร์รับทราฟฟิกล้นเกินจนหยุดตอบคำถาม
  3. Cลบเซิร์ฟเวอร์ DNS
  4. Dทำให้รีโซลเวอร์เก็บที่อยู่ IP ปลอมสำหรับโดเมนหนึ่ง
19.การแบ่งซับเน็ต IPv4ปานกลาง
/24 → /2611111111111111111111111111000000บิตเครือข่ายบิตโฮสต์

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

10.100.131.0/24/26
N =
20.การแบ่งซับเน็ต IPv4ยาก
ออกเท็ตที่สาม = 75012816403201618041211เครือข่ายโฮสต์

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

172.20.75.213/19
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 164

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

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

92 = 0101 1100
ที่กลับบิตแล้ว: 1010 0011
+1 → 1010 0100

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

1010 0100₂ = 256 − 92 = 164

คำตอบ

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

คำตอบ: N = −2.147 × 10⁹

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

ค่าที่ติดลบมากที่สุด

−231 = −2147483648

คำตอบ

N = −2147483648
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 = r, b = q

นิเสธของนัย

¬(a → b) ≡ a ∧ ¬b = r ∧ ¬q

คำตอบ

r ∧ ¬q

ถ้าข้อสมมติทำให้เกิดข้อขัดแย้ง นัยนั้นต้องเป็นจริง

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

คำตอบ: N = 6

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

คอลัมน์

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

แยกตาม p

p = 1: 2
p = 0: 4
N = 2 + 4 = 6

คำตอบ

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

คำตอบ: N = 4

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

ABCD000111100001111010110302141517060120130151140809011010

จัดกลุ่ม 0

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

(B + C′)
(A′ + D′)
(A′ + C)
(A + C′ + D)

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

F = (B + C′)(A′ + D′)(A′ + C)(A + C′ + D)
N = 4

คำตอบ

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

คำตอบ: N = 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

Q หลังทุกขอบ

ฟลิปฟล็อป T สลับค่าทุกขอบขาขึ้นเมื่อ T = 1 และคงค่าเมื่อ T = 0

1: T = 1 → Q = 1
2: T = 0 → Q = 1
3: T = 0 → Q = 1
4: T = 1 → Q = 0
5: T = 0 → Q = 0
6: T = 1 → Q = 1
7: T = 0 → Q = 1

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

0 → 1 → 1 → 1 → 0 → 0 → 1 → 1
N = 3

คำตอบ

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

คำตอบ: x = 30

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

ตัวผกผันของ 7

r = 53, t = 0
r = 7, q = 7, t = 1
r = 4, q = 1, t = −7
r = 3, q = 1, t = 8
r = 1, q = 3, t = −15
7−1 ≡ 38 (mod 53)

แก้สมการ

x ≡ 38·51 = 1938 ≡ 30 (mod 53)
ตรวจสอบ: 7·30 = 210 ≡ 51 (mod 53)

คำตอบ

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

คำตอบ: 25134 mod 69 = 4

เลขยกกำลังมอดูลาร์และ 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

เลขชี้กำลังฐานสอง

134 = 100001102 = 128 + 4 + 2

การยกกำลังสองซ้ำ

251 ≡ 25 (mod 69)
252 ≡ 4 (mod 69)
254 ≡ 16 (mod 69)
258 ≡ 49 (mod 69)
2516 ≡ 55 (mod 69)
2532 ≡ 58 (mod 69)
2564 ≡ 52 (mod 69)
25128 ≡ 13 (mod 69)

คูณเลขยกกำลังที่ต้องใช้

25134 ≡ 4·16·13 ≡ 4 (mod 69)

คำตอบ

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

คำตอบ: C · O(n²)

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

เมื่อเลือกตัวหลักไม่ดีติดต่อกัน (เช่น อินพุตที่เรียงแล้วและเลือกตัวแรกเป็นตัวหลัก) การแบ่งส่วนจะไม่สมดุล ได้ O(n²) ส่วนกรณีเฉลี่ยคือ O(n log n)

คำตอบ

C · O(n²)
10.อัลกอริทึมและความซับซ้อน

คำตอบ: D · ขนาดไม่เกินสองเท่าของเซตครอบคลุมจุดยอดที่เล็กที่สุด

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

เส้นเชื่อมใน matching ไม่ใช้จุดยอดร่วมกัน ค่าเหมาะสมที่สุดจึงต้องมีอย่างน้อยหนึ่งจุดยอดต่อหนึ่งเส้น ขณะที่วิธีนี้เลือกสองจุด: การประมาณค่า 2 เท่า

คำตอบ

D · ขนาดไม่เกินสองเท่าของเซตครอบคลุมจุดยอดที่เล็กที่สุด
11.โครงสร้างข้อมูล

คำตอบ: C · O(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน

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

สมาชิกทั้งหมดหลังจุดแทรกเลื่อนไปทางขวาหนึ่งตำแหน่ง ซึ่งใช้เวลาแปรผันตาม n

คำตอบ

C · O(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน
12.โครงสร้างข้อมูล

คำตอบ: C · การค้นหา O(log n) คาดหมาย โดยใช้ตัวชี้ไปข้างหน้าหลายระดับ

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

ระดับแบบสุ่มทำให้การค้นหาข้ามหลายโหนด ได้การค้นหา แทรก และลบ O(log n) คาดหมาย

คำตอบ

C · การค้นหา O(log n) คาดหมาย โดยใช้ตัวชี้ไปข้างหน้าหลายระดับ
13.ทฤษฎีกราฟ

คำตอบ: L = 23

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

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

L + 41 = 2(L + 10) − 2
L = 23

คำตอบ

L = 23

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

14.ทฤษฎีกราฟ

คำตอบ: W = 41

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

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

AC (1): เลือก
CE (2): เลือก
BC (4): เลือก
GE (5): เลือก
GB (11): ข้าม ทำให้เกิดวัฏจักร
AB (12): ข้าม ทำให้เกิดวัฏจักร
GD (13): เลือก
EF (16): เลือก

น้ำหนักรวม

W = 1 + 2 + 4 + 5 + 13 + 16 = 41

คำตอบ

W = 41
15.ฐานข้อมูลและ SQL

คำตอบ: B · ผลลัพธ์ชั่วคราวที่มีชื่อ ใช้ได้ภายในคำสั่งเดียว

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

CTE ตั้งชื่อให้ซับคิวรี ทำให้คิวรีซับซ้อนอ่านง่ายขึ้น และอ้างอิงได้หลายครั้งในคำสั่งเดียวกัน

คำตอบ

B · ผลลัพธ์ชั่วคราวที่มีชื่อ ใช้ได้ภายในคำสั่งเดียว
16.ฐานข้อมูลและ SQL

คำตอบ: A · ทุกแถวจากทั้งสองตาราง จับคู่เท่าที่ทำได้และเติม NULL ในส่วนที่เหลือ

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

full outer join เก็บทุกแถวของทั้งสองตาราง จับคู่ที่ตรงกันและเติม NULL ให้ฝั่งที่ขาด

คำตอบ

A · ทุกแถวจากทั้งสองตาราง จับคู่เท่าที่ทำได้และเติม NULL ในส่วนที่เหลือ
17.เครือข่ายคอมพิวเตอร์

คำตอบ: C · 255.255.240.0

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

/20 หมายถึงบิต 1 จำนวน 8 + 8 + 4 บิต สี่บิต 1 ในอ็อกเต็ตที่สามคือ 11110000 = 240 มาสก์จึงเป็น 255.255.240.0

คำตอบ

C · 255.255.240.0
18.เครือข่ายคอมพิวเตอร์

คำตอบ: D · ทำให้รีโซลเวอร์เก็บที่อยู่ IP ปลอมสำหรับโดเมนหนึ่ง

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

การวางยาแทรกเรกคอร์ดปลอมลงในแคชของรีโซลเวอร์ DNSSEC เพิ่มลายเซ็นเพื่อให้รีโซลเวอร์ตรวจสอบเรกคอร์ดได้

คำตอบ

D · ทำให้รีโซลเวอร์เก็บที่อยู่ IP ปลอมสำหรับโดเมนหนึ่ง
19.การแบ่งซับเน็ต IPv4

คำตอบ: N = 4

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 − 24 = 2

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

N = 22 = 4

คำตอบ

N = 4

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

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

คำตอบ: x = 95

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

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

25 = 32

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

เครือข่าย: 172.20.64.0
บรอดคาสต์: 172.20.95.255

คำตอบ

x = 95

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