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

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

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

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

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

664
b = bit
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
¬p ∧ ¬q¬¬p ∧ ¬q¬¬p ∧ q¬¬p → ¬q

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

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

ตารางค่าความจริง 16 แถวมีกี่แถวที่ทำให้ ((b ↔ d) ∨ a) ↔ ((¬a ↔ c) ∧ d) เป็นจริง เรียกจำนวนนี้ว่า N

((b ↔ d) ∨ a) ↔ ((¬a ↔ c) ∧ d)
N =
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABC000111100101324576

จงทำ F = A′BC′ + ABC′ + B′C′ + A′B′C ให้เป็นรูปผลบวกของผลคูณที่น้อยที่สุด นิพจน์ที่ทำให้ง่ายแล้วมีกี่ลิเทอรัล L

F = A′BC′ + ABC′ + B′C′ + A′B′C
L =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
TQ0​Q0​TQ1​Q1​TQ2​Q2​CLKMOD-6

ตัวนับมอด-6 แบบซิงโครนัสนับ 0, 1, …, 5 แล้ววนกลับเป็น 0 เริ่มที่ 0 หลังพัลส์นาฬิกา 15 พัลส์ จะแสดงค่านับ Q (เป็นเลขฐานสิบ) เท่าใด

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

จงหาจำนวนเต็มบวกที่น้อยที่สุด x ที่ x ≡ 5 (mod 7) และ x ≡ 8 (mod 13)

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

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

a = 22k = 23n = 39
2223 mod 39 =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ความสัมพันธ์เวียนเกิด T(n) = 2T(n/2) + O(1) มีผลเฉลยเป็นเท่าใด

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

ปัญหาพนักงานขายเดินทางถูกจัดประเภทอย่างไร

  1. Aแบบการตัดสินใจเป็น NP-complete และแบบหาค่าเหมาะที่สุดเป็น NP-hard
  2. Bตัดสินไม่ได้
  3. Cอยู่ใน P เพราะอัลกอริทึมของ Dijkstra แก้ได้โดยเยี่ยมชมทุกเมืองหนึ่งครั้ง
  4. Dแบบการตัดสินใจอยู่ใน P แต่แบบหาค่าเหมาะที่สุดเป็น NP-complete
11.โครงสร้างข้อมูลปานกลาง

โปรแกรมที่ทำงานอยู่ใช้โครงสร้างข้อมูลใดติดตามการเรียกฟังก์ชันที่กำลังทำงานและตัวแปรท้องถิ่น

  1. Aสแตกการเรียก (call stack)
  2. Bคิวหน่วยความจำฮีป
  3. Cbinary search tree ของเฟรม
  4. Dตารางแฮชของฟังก์ชัน
12.โครงสร้างข้อมูลยาก

คีย์ 5, 3, 8, 1 ถูกแทรกตามลำดับนี้ลงใน min-heap ทวิภาคแบบอาร์เรย์ที่ว่าง อาร์เรย์สุดท้ายคืออะไร

  1. A[3, 1, 8, 5]
  2. B[1, 3, 8, 5]
  3. C[1, 3, 5, 8]
  4. D[1, 5, 8, 3]
13.ทฤษฎีกราฟปานกลาง

กราฟบริบูรณ์ K4 มีวงจรแฮมิลตันที่แตกต่างกันกี่วงจร H วงจรที่ต่างกันเพียงจุดยอดเริ่มต้นหรือทิศทางนับเป็นวงจรเดียวกัน

K4
H =
14.ทฤษฎีกราฟยาก
ABCDE

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

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

ในพีชคณิตเชิงสัมพันธ์ ตัวดำเนินการการเลือก (σ) สอดคล้องกับอนุประโยค SQL ใด?

  1. AORDER BY
  2. BGROUP BY
  3. Cรายการ SELECT
  4. DWHERE
16.ฐานข้อมูลและ SQLยาก

ดัชนีครอบคลุม (covering index) สำหรับคิวรีคืออะไร?

  1. Aดัชนีที่ครอบคลุมทุกคอลัมน์ของทุกตาราง
  2. Bดัชนีที่มีทุกคอลัมน์ที่คิวรีต้องการ จึงไม่ต้องอ่านตัวตาราง
  3. Cดัชนีที่สร้างใหม่ทุกคืน
  4. Dดัชนีบนคีย์หลักเท่านั้น
17.เครือข่ายคอมพิวเตอร์ปานกลาง

ช่วงหมายเลขพอร์ต TCP/UDP ใดสงวนไว้เป็นพอร์ต "ที่รู้จักกันดี" (well-known)?

  1. A0–1023
  2. B1024–49151
  3. C0–65535
  4. D49152–65535
18.เครือข่ายคอมพิวเตอร์ยาก

นักศึกษาเปิดเซิร์ฟเวอร์เกมบนพีซีที่อยู่หลังเราเตอร์ NAT ตามบ้าน เพื่อนบนอินเทอร์เน็ตเชื่อมต่อไม่ได้ วิธีแก้ปกติคืออะไร?

  1. Aให้พีซีใช้ที่อยู่ MAC ที่ต่างออกไป เพื่อให้เราเตอร์หาพีซีพบจากภายนอก
  2. Bเปลี่ยนซับเน็ตมาสก์ของพีซีเป็น /32
  3. Cปิดไคลเอนต์ DNS ของพีซี
  4. Dตั้งค่า port forwarding บนเราเตอร์ไปยังที่อยู่ส่วนตัวของพีซี
19.การแบ่งซับเน็ต IPv4ปานกลาง
/24 → /2511111111111111111111111110000000บิตเครือข่ายบิตโฮสต์

เครือข่าย 192.168.187.0/24 ถูกแบ่งเป็นซับเน็ต /25 หมายเลข 1, 2, 3, … จากแอดเดรสต่ำสุด (ซับเน็ต 1 เริ่มที่ .0) ออกเท็ตที่สี่ x ของเน็ตเวิร์กแอดเดรสของซับเน็ต 2 คือเท่าใด

192.168.187.0/24/25ซับเน็ต 2 (ซับเน็ต 1 เริ่มที่ .0)
x =
20.การแบ่งซับเน็ต IPv4ยาก
ออกเท็ตที่สาม 4 … 7012806403201608140201ร่วมกันเปลี่ยนแปลง

เราเตอร์มีเส้นทางไปยังเครือข่ายเหล่านี้: 10.34.4.0/24, 10.34.5.0/24, 10.34.6.0/24, 10.34.7.0/24 ความยาวพรีฟิกซ์ยาวที่สุด p ของเส้นทางสรุปเส้นเดียวที่ครอบคลุมทั้งหมดคือเท่าใด

10.34.4.0/24 … 10.34.7.0/24
p =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 195

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

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

61 = 0011 1101
ที่กลับบิตแล้ว: 1100 0010
+1 → 1100 0011

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

1100 0011₂ = 256 − 61 = 195

คำตอบ

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

คำตอบ: b = 10 bit

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

กำลังของสอง

29 = 512 < 664
210 = 1024 ≥ 664

คำตอบ

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

คำตอบ: ¬p ∧ ¬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 = ¬p, b = q

นิเสธของนัย

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

คำตอบ

¬p ∧ ¬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 เมื่อทั้งสองข้างเท่ากัน

คอลัมน์

b ↔ d; (b ↔ d) ∨ a; ¬a; ¬a ↔ c; (¬a ↔ c) ∧ d; ((b ↔ d) ∨ a) ↔ ((¬a ↔ c) ∧ d)

แยกตาม a

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

คำตอบ

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

คำตอบ: L = 3

พีชคณิตแบบบูล: กฎที่ทำให้นิพจน์ง่ายขึ้นได้แก่ X + X′ = 1 และ X·X′ = 0, X + X = X, การดูดกลืน X + X·Y = X, กฎการรวม X·Y + X·Y′ = X, X + X′Y = X + Y และทฤษฎีบทฉันทามติ XY + X′Z + YZ = XY + X′Z กฎของเดอมอร์แกนเปลี่ยน (X·Y)′ เป็น X′ + Y′ และ (X + Y)′ เป็น X′·Y′ แผนที่คาร์โนห์ใช้กฎเหล่านี้ในรูปภาพ: ทุกกลุ่มของสองเซลล์ที่อยู่ติดกันคือการใช้ XY + XY′ = X หนึ่งครั้ง

มินเทอมของนิพจน์

A′BC′ → m(2)
ABC′ → m(6)
B′C′ → m(0, 4)
A′B′C → m(1)
ABC00011110011011031214050716

จัดกลุ่มและอ่านค่า

F = C′ + A′B′

นับลิเทอรัล

L = 3

คำตอบ

L = 3
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

รอบเต็ม

ทุก 6 พัลส์ทำให้ตัวนับกลับสู่สถานะเดิม

15 = 2·6 + 3

ค่านับหลังพัลส์ที่เหลือ

Q = (0 + 3) mod 6 = 3
Q = 011₂

คำตอบ

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

คำตอบ: x = 47

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

ความสอดคล้องข้อแรก

x = 5 + 7k

ความสอดคล้องข้อที่สอง

5 + 7k ≡ 8 (mod 13) → 7k ≡ 3 (mod 13)
k ≡ 2·3 ≡ 6 (mod 13)

ผลลัพธ์

x = 5 + 7·6 = 47
x = 47
ตรวจสอบ: 47 mod 7 = 5, 47 mod 13 = 8

คำตอบ

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

คำตอบ: 2223 mod 39 = 16

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

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

23 = 101112 = 16 + 4 + 2 + 1

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

221 ≡ 22 (mod 39)
222 ≡ 16 (mod 39)
224 ≡ 22 (mod 39)
228 ≡ 16 (mod 39)
2216 ≡ 22 (mod 39)

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

2223 ≡ 22·16·22·22 ≡ 16 (mod 39)

คำตอบ

2223 mod 39 = 16
9.อัลกอริทึมและความซับซ้อน

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

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

โดยทฤษฎีบทหลัก nlog₂ 2 = n ครอบงำงานคงที่ จึงได้ T(n) = Θ(n) เช่น การหาค่ามากสุดโดยแบ่งครึ่งเรื่อย ๆ

คำตอบ

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

คำตอบ: A · แบบการตัดสินใจเป็น NP-complete และแบบหาค่าเหมาะที่สุดเป็น NP-hard

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

"มีเส้นทางที่ยาวไม่เกิน k หรือไม่" เป็น NP-complete การหาเส้นทางที่สั้นที่สุดเป็น NP-hard เพราะยากอย่างน้อยเท่ากัน

คำตอบ

A · แบบการตัดสินใจเป็น NP-complete และแบบหาค่าเหมาะที่สุดเป็น NP-hard
11.โครงสร้างข้อมูล

คำตอบ: A · สแตกการเรียก (call stack)

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

แต่ละการเรียก push เฟรมสแตกและแต่ละการคืนค่า pop ออก จึงเป็นเหตุที่การเรียกล่าสุดเสร็จก่อน

คำตอบ

A · สแตกการเรียก (call stack)
12.โครงสร้างข้อมูล

คำตอบ: B · [1, 3, 8, 5]

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

หลัง 5, 3, 8 อาร์เรย์เป็น [3, 5, 8] 1 ไปอยู่ดัชนี 3 สลับกับแม่ 5 แล้วสลับกับ 3 ได้ [1, 3, 8, 5]

คำตอบ

B · [1, 3, 8, 5]
13.ทฤษฎีกราฟ

คำตอบ: H = 3

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

นับ

H = (4 − 1)!/2 = 6/2 = 3

คำตอบ

H = 3
14.ทฤษฎีกราฟ

คำตอบ: N = 3

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

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

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

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

(M²)EE = 0·0 + 1·1 + 1·1 + 1·1 + 0·0 = 3

คำตอบ

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

คำตอบ: D · WHERE

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

σcondition(R) คืนทูเพิลของ R ที่เป็นไปตามเงื่อนไข เหมือนอนุประโยค WHERE

คำตอบ

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

คำตอบ: B · ดัชนีที่มีทุกคอลัมน์ที่คิวรีต้องการ จึงไม่ต้องอ่านตัวตาราง

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

หากทุกคอลัมน์ที่อ้างถึงอยู่ในดัชนี DBMS สแกนเฉพาะดัชนีได้และข้ามการดึงแถวตาราง ซึ่งประหยัด I/O

คำตอบ

B · ดัชนีที่มีทุกคอลัมน์ที่คิวรีต้องการ จึงไม่ต้องอ่านตัวตาราง
17.เครือข่ายคอมพิวเตอร์

คำตอบ: A · 0–1023

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

พอร์ต 0–1023 เป็นพอร์ตที่รู้จักกันดีสำหรับบริการมาตรฐาน 1024–49151 เป็นพอร์ตที่ลงทะเบียน และ 49152–65535 เป็นพอร์ตไดนามิกหรือส่วนตัว

คำตอบ

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

คำตอบ: D · ตั้งค่า port forwarding บนเราเตอร์ไปยังที่อยู่ส่วนตัวของพีซี

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

NAT สร้างการแมปเฉพาะสำหรับการเชื่อมต่อที่เริ่มจากภายใน กฎ port-forwarding แมปพอร์ตสาธารณะไปยังโฮสต์ภายใน การเชื่อมต่อขาเข้าจึงเข้าถึงได้

คำตอบ

D · ตั้งค่า port forwarding บนเราเตอร์ไปยังที่อยู่ส่วนตัวของพีซี
19.การแบ่งซับเน็ต IPv4

คำตอบ: x = 128

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

ขนาดบล็อก

27 = 128

ซับเน็ตหมายเลข 2

เครือข่าย: (2 − 1)·128 = 128
บรอดคาสต์: 128 + 128 − 1 = 255

คำตอบ

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

คำตอบ: p = 22

การสรุปเส้นทาง: เส้นทางสรุป a.b.c.0/p ครอบคลุมทุกเครือข่ายที่ p บิตแรกตรงกัน เขียนออกเท็ตที่ต่างกันของเครือข่ายแรกและสุดท้ายเป็นเลขฐานสอง จำนวนบิตนำหน้าที่ตรงกัน บวกบิตของออกเท็ตก่อนหน้า คือพรีฟิกซ์สรุปที่ยาวที่สุด

เทียบบิต

4 = 00000100
7 = 00000111
บิตนำหน้าที่ตรงกัน: 6

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

p = 16 + 6 = 22

คำตอบ

p = /22

เส้นทางสรุป: 10.34.4.0/22

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