ระบบเลข
- ค่าประจำตำแหน่ง
- ฐานสอง 2k, ฐานแปด 8k, ฐานสิบหก 16k
- เป็นเลขฐานสิบ
- Σ dk·bk
- จากเลขฐานสิบ
- หารด้วยฐาน อ่านเศษจากล่างขึ้นบน
- ฐานสิบหก ↔ ฐานสอง
- เลขฐานสิบหกหนึ่งหลัก = 4 บิต
- two’s complement
- กลับบิตแล้วบวก 1
สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 20 ข้อ พร้อมเฉลยละเอียดไว้ท้ายเล่ม
เขียน −7 เป็นรูปแบบ two's complement 8 บิต อ่านรูปแบบนั้นเป็นเลขฐานสองแบบไม่มีเครื่องหมาย ค่าของมัน U ในเลขฐานสิบคือเท่าใด
ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 1010 0001 XOR 0010 0010 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ
สูตรใดสมมูลเชิงตรรกะกับ (b ∨ a) → c ให้คลิกสูตรนั้น
ตารางค่าความจริง 16 แถวมีกี่แถวที่ทำให้ (¬b ∨ ¬(¬a ∨ ¬d)) ↔ ((¬a ∧ c) ∧ (c ∨ ¬b)) เป็นจริง เรียกจำนวนนี้ว่า N
ใช้แผนที่คาร์โนห์หารูปผลบวกของผลคูณ (SOP) ที่น้อยที่สุดของ F(A, B, C) = Σm(0, 4, 5) มีกี่พจน์ผลคูณ N
ฟลิปฟล็อป JK ที่ทริกเกอร์ขอบขาขึ้นเริ่มด้วย Q = 0 และได้รับอินพุตที่แสดง ให้คลิกขอบสัญญาณนาฬิกาแรกที่ Q เปลี่ยนจาก 1 กลับเป็น 0
จงหาจำนวนเต็มบวกที่น้อยที่สุด x ที่ x ≡ 2 (mod 3) และ x ≡ 1 (mod 11)
59 เป็นจำนวนเฉพาะ ใช้ทฤษฎีบทเล็กของแฟร์มาเพื่อหา 1555221 mod 59
การเรียกซ้ำของ merge sort สำหรับอาร์เรย์ n สมาชิกมีกี่ระดับ
ข้อใดเกี่ยวกับสัญกรณ์ little-o ถูกต้อง
สมาชิกใหม่ถูกแทรกลงในฮีปทวิภาคอย่างไร
ข้อได้เปรียบหลักของ skip list เหนือลิงก์ลิสต์ที่เรียงลำดับคืออะไร
กราฟเชื่อมโยงมี 11 จุดยอดและ 19 เส้นเชื่อม ต้องเอาเส้นเชื่อมออกกี่เส้น k เพื่อให้เหลือต้นไม้ทอดข้าม
มีวอล์กปิดความยาว 2 ที่เริ่มและจบที่ E กี่วอล์ก วอล์กอาจซ้ำจุดยอดและเส้นเชื่อมได้ เรียกจำนวนนี้ว่า N
นิพจน์ตารางร่วม (common table expression, WITH name AS (...)) ให้อะไร?
เหตุใดคิวรีที่มี WHERE YEAR(order_date) = 2025 อาจไม่ใช้ดัชนีบน order_date?
เรกคอร์ด DNS ชนิดใดแมปชื่อโฮสต์กับที่อยู่ IPv6?
หน่วยส่งสูงสุด (MTU) ของเพย์โหลดอีเทอร์เน็ตมาตรฐานคือเท่าใด?
เครือข่าย 10.95.40.0/22 ถูกแบ่งเป็นซับเน็ตขนาดเท่ากันด้วยพรีฟิกซ์ /30 มีกี่ซับเน็ต N
โฮสต์มีที่อยู่ 10.20.166.145/29 ตัวเลขสุดท้าย (ออคเต็ตที่สี่) x ของที่อยู่บรอดคาสต์ของซับเน็ตคือเท่าใด
คำตอบ: U = 249
ระบบเลขตามตำแหน่ง: แต่ละหลักมีค่าเท่ากับค่าของหลักนั้นคูณกำลังของฐาน ในเลขฐานสองแต่ละตำแหน่งมีค่า 1, 2, 4, 8, 16, …; ในเลขฐานสิบหก 1, 16, 256, … โดย A–F แทน 10–15 ในระบบ two's complement 8 บิต บิตซ้ายสุดมีค่า −128 แทนที่จะเป็น +128 ซึ่งเป็นวิธีเก็บจำนวนลบ
คำตอบ: R = 131
การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน
XOR ให้ 1 เมื่อสองบิตต่างกัน
คำตอบ: (b → c) ∧ (a → c)
ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (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)
คอลัมน์หลังเส้นคั่นคือตัวเลือกตามลำดับที่แสดง
คำตอบ: 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 เมื่อทั้งสองข้างเท่ากัน
คำตอบ: N = 2
แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด
ทุกกลุ่มเป็นสี่เหลี่ยมของ 2ᵏ เซลล์ เซลล์ที่ขอบเป็นเพื่อนบ้านของเซลล์ที่ขอบตรงข้าม
คำตอบ: ขอบสัญญาณนาฬิกา 4
ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา 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
ฟลิปฟล็อป JK: 00 คงค่า, 01 รีเซ็ต (Q = 0), 10 เซต (Q = 1), 11 สลับค่า
คำตอบ: x = 23
ตัวผกผันและความสอดคล้อง: 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)
คำตอบ: 1555221 mod 59 = 45
เลขยกกำลังมอดูลาร์และ 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
คำตอบ: B · ประมาณ log₂ n
การแบ่งครึ่งจาก n ลงถึง 1 ใช้ประมาณ log₂ n ระดับ และแต่ละระดับทำงานผสาน O(n) ได้ O(n log n)
คำตอบ: D · n = o(n²) แต่ n ไม่ใช่ o(n)
f = o(g) หมายความว่า f(n) / g(n) เข้าใกล้ 0 โดย n / n² เข้าใกล้ 0 แต่ n / n = 1 ไม่เข้าใกล้ 0
คำตอบ: A · วางที่ท้ายอาร์เรย์และเลื่อนขึ้น (sift up) ตราบที่ยังละเมิดคุณสมบัติฮีป
การเพิ่มที่ท้ายรักษาต้นไม้ให้สมบูรณ์ การสลับกับแม่คืนลำดับใน O(log n) ขั้นตอน
คำตอบ: C · การค้นหา O(log n) คาดหมาย โดยใช้ตัวชี้ไปข้างหน้าหลายระดับ
ระดับแบบสุ่มทำให้การค้นหาข้ามหลายโหนด ได้การค้นหา แทรก และลบ O(log n) คาดหมาย
คำตอบ: k = 9
ออยเลอร์ แฮมิลตัน และต้นไม้: กราฟเชื่อมโยงมีวงจรออยเลอร์ (ผ่านทุกเส้นเชื่อมครั้งเดียวและกลับจุดเริ่มต้น) เมื่อทุกจุดยอดมีดีกรีคู่ และมีทางเดินออยเลอร์ที่ไม่ใช่วงจรเมื่อมีจุดยอดดีกรีคี่พอดีสองจุด ทางเดินนั้นไปจากจุดยอดคี่จุดหนึ่งถึงอีกจุดหนึ่ง วงจรแฮมิลตันผ่านทุกจุดยอดครั้งเดียว Kn มีวงจรแบบนี้ (n − 1)!/2 วงจร ต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม และกราฟเชื่อมโยงที่มี m เส้นเชื่อมจะเหลือต้นไม้ทอดข้ามหลังเอาเส้นเชื่อมออก m − n + 1 เส้น
คำตอบ: N = 3
ดีกรี: ดีกรีของจุดยอดคือจำนวนเส้นเชื่อมที่มาบรรจบที่จุดนั้น เส้นเชื่อมแต่ละเส้นมีสองปลาย ดังนั้นผลบวกของดีกรีเท่ากับสองเท่าของจำนวนเส้นเชื่อม: Σ deg(v) = 2|E| (เล็มมาการจับมือ) ดังนั้นจำนวนจุดยอดที่มีดีกรีคี่เป็นจำนวนคู่ Kn มีเส้นเชื่อม n(n − 1)/2 เส้น กราฟปรกติดีกรี k ที่มี n จุดยอดมี nk/2 เส้น และต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม
คำตอบ: B · ผลลัพธ์ชั่วคราวที่มีชื่อ ใช้ได้ภายในคำสั่งเดียว
CTE ตั้งชื่อให้ซับคิวรี ทำให้คิวรีซับซ้อนอ่านง่ายขึ้น และอ้างอิงได้หลายครั้งในคำสั่งเดียวกัน
คำตอบ: A · การใช้ฟังก์ชันกับคอลัมน์ทำให้ค้นหาช่วงด้วยดัชนีแบบง่ายไม่ได้
นิพจน์นี้ไม่ "sargable" การใช้ order_date >= '2025-01-01' AND order_date < '2026-01-01' ทำให้สแกนช่วงด้วยดัชนีได้
คำตอบ: C · AAAA
เรกคอร์ด A เก็บที่อยู่ IPv4, AAAA เก็บที่อยู่ IPv6 ส่วน MX ระบุเมลเซิร์ฟเวอร์ และ CNAME ให้ชื่อแทน (alias)
คำตอบ: D · 1500 ไบต์
อีเทอร์เน็ตมาตรฐานรับเพย์โหลดได้ถึง 1500 ไบต์ แพ็กเก็ต IP ที่ใหญ่กว่าต้องถูกแบ่งส่วน (fragment) หรือใช้ path MTU discovery
คำตอบ: 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 − 2 = 2 โฮสต์
คำตอบ: x = 151
การแบ่งซับเน็ต IPv4: ที่อยู่มี 32 บิต พรีฟิกซ์ /p บอกว่าบิตนำหน้ากี่บิตระบุเครือข่าย ส่วน 32 − p บิตที่เหลือใช้ระบุเลขโฮสต์ ซับเน็ตมี 2³²⁻ᵖ ที่อยู่ แต่ที่อยู่แรก (ที่อยู่เครือข่าย) และที่อยู่สุดท้าย (ที่อยู่บรอดคาสต์) ใช้เป็นโฮสต์ไม่ได้ จึงมีโฮสต์ได้ 2³²⁻ᵖ − 2 เครื่อง ข้อยกเว้น: /31 (ลิงก์แบบจุดต่อจุด, RFC 3021) ใช้ทั้ง 2 แอดเดรสสำหรับโฮสต์ และ /32 เป็นแอดเดรสเดียว (โฮสต์เดียวหรือลูปแบ็ก)
ExamProblems · examproblems.com/courses/computer-science-fundamentals