ระบบเลข
- ค่าประจำตำแหน่ง
- ฐานสอง 2k, ฐานแปด 8k, ฐานสิบหก 16k
- เป็นเลขฐานสิบ
- Σ dk·bk
- จากเลขฐานสิบ
- หารด้วยฐาน อ่านเศษจากล่างขึ้นบน
- ฐานสิบหก ↔ ฐานสอง
- เลขฐานสิบหกหนึ่งหลัก = 4 บิต
- two’s complement
- กลับบิตแล้วบวก 1
สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 20 ข้อ พร้อมเฉลยละเอียดไว้ท้ายเล่ม
ตั้งบิตให้เก็บ −52 ใน two's complement 8 บิต อ่านเป็นจำนวนไม่มีเครื่องหมาย ค่าของรูปแบบ U เป็นเท่าใด
ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 0110 0111 AND 1011 0100 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ
สูตรใดสมมูลเชิงตรรกะกับ p ↔ r ให้คลิกสูตรนั้น
ประโยคใดสมมูลกับ ¬∀x ∃y R(x, y) เมื่อย้ายนิเสธเข้าด้านในสุด ให้คลิกประโยคนั้น
ใช้แผนที่คาร์โนห์หารูปผลคูณของผลบวก (POS) ที่น้อยที่สุดของ F(A, B, C, D) = Σm(0, 1, 2, 4, 7, 9, 10, 15) มีกี่พจน์ผลบวก (ตัวประกอบ) N
ฟลิปฟล็อป T ที่ทริกเกอร์ขอบขาขึ้นเริ่มด้วย Q = 0 และได้รับอินพุตที่แสดงที่ขอบขาขึ้นของนาฬิกา 6 ขอบ Q เปลี่ยนสถานะกี่ครั้ง N
จงหาตัวผกผันของ 19 มอดูโล 34: จำนวน x ที่ 0 < x < 34 และ 19·x ≡ 1 (mod 34)
ใช้การยกกำลังสองซ้ำเพื่อหา 4951 mod 74
ความซับซ้อนเชิงเวลาของอัลกอริทึม Bellman–Ford บนกราฟที่มี V จุดยอดและ E เส้นเชื่อมคือเท่าใด
ข้อใดเกี่ยวกับการเลือกสมาชิกที่เล็กที่สุดอันดับที่ k ของอาร์เรย์ที่ไม่เรียงลำดับถูกต้อง
สมาชิกใหม่ถูกแทรกลงในฮีปทวิภาคอย่างไร
ต้นไม้แดง–ดำ (red-black tree) ต้องมีคุณสมบัติใด
กราฟเชื่อมโยงนี้มีวงจรออยเลอร์ ทางเดินออยเลอร์ที่ไม่ใช่วงจร หรือไม่มีทั้งสองอย่าง ให้คลิกคำตอบของคุณ
จงหาน้ำหนักรวม W ของต้นไม้ทอดข้ามค่าน้อยที่สุดของกราฟถ่วงน้ำหนัก
WHERE EXISTS (subquery) เป็นจริงสำหรับแถวเมื่อใด?
ตารางมีหนึ่งล้านแถวและคอลัมน์บูลีน is_active เป็น TRUE ใน 95% ของแถว เหตุใดตัวปรับแต่งอาจเมินดัชนีบน is_active สำหรับ WHERE is_active = TRUE?
เรกคอร์ด DNS ชนิดใดแมปชื่อโฮสต์กับที่อยู่ IPv6?
ในแบบจำลอง TCP/IP ชั้นใดเพิ่มหมายเลขพอร์ต?
เครือข่าย 192.168.10.0/24 ต้องแบ่งเป็นซับเน็ตขนาดเท่ากันอย่างน้อย 4 ซับเน็ต หากยืมบิตให้น้อยที่สุด แต่ละซับเน็ตมีโฮสต์ที่ใช้ได้กี่เครื่อง H
โฮสต์มีที่อยู่ 10.20.220.13/26 ออคเต็ตที่สี่ x ของที่อยู่โฮสต์ที่ใช้ได้สุดท้ายในซับเน็ตคือเท่าใด
คำตอบ: U = 204
การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน
คำตอบ: R = 36
การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน
AND ให้ 1 เฉพาะที่ทั้งสองบิตเป็น 1
คำตอบ: (p → r) ∧ (r → p)
ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (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)
คอลัมน์หลังเส้นคั่นคือตัวเลือกตามลำดับที่แสดง
คำตอบ: ∃x ∀y ¬R(x, y)
ตัวบ่งปริมาณและการอ้างเหตุผล: ¬∀x P(x) ≡ ∃x ¬P(x) และ ¬∃x P(x) ≡ ∀x ¬P(x) ย้ายนิเสธเข้าด้านใน สลับทุกตัวบ่งปริมาณที่นิเสธผ่าน และใส่นิเสธให้สูตรด้านในด้วยกฎของประพจน์ เช่น ¬(a → b) ≡ a ∧ ¬b การอ้างเหตุผลสมเหตุสมผลเมื่อบทสรุปเป็น 1 ในทุกแถวที่สมมติฐานทั้งหมดเป็น 1 แถวเดียวที่สมมติฐานเป็นจริงแต่บทสรุปเป็นเท็จคือตัวอย่างค้านและแสดงว่าการอ้างเหตุผลนั้นไม่สมเหตุสมผล
ตัวเลือกอื่นอาจคงตัวบ่งปริมาณไว้ไม่เปลี่ยน เปลี่ยนลำดับของตัวบ่งปริมาณ หรือใส่นิเสธให้สูตรด้านในผิด
คำตอบ: N = 4
แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด
ทุกกลุ่มเป็นสี่เหลี่ยมของ 2ᵏ เซลล์ เซลล์ที่ขอบเป็นเพื่อนบ้านของเซลล์ที่ขอบตรงข้าม
คำตอบ: N = 2
ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา 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
ฟลิปฟล็อป T สลับค่าทุกขอบขาขึ้นเมื่อ T = 1 และคงค่าเมื่อ T = 0
คำตอบ: 19−1 mod 34 = 9
ตัวผกผันและความสอดคล้อง: 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·19 (mod 34)
คำตอบ: 4951 mod 74 = 47
เลขยกกำลังมอดูลาร์และ 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
คำตอบ: D · O(V × E)
แต่ละรอบจาก V − 1 รอบผ่อนคลายเส้นเชื่อมทั้ง E เส้น ได้ O(VE) แลกกับการรองรับน้ำหนักเส้นเชื่อมติดลบ
คำตอบ: A · Quickselect ทำงานใน O(n) คาดหมาย และ median-of-medians รับประกัน O(n) ในกรณีเลวร้ายที่สุด
งานคาดหมายของ Quickselect คือ n + n/2 + n/4 + ... = O(n) เมื่อสุ่มตัวหลัก การเลือกตัวหลักด้วย median of medians ทำให้กรณีเลวร้ายที่สุดเป็นเชิงเส้น
คำตอบ: A · วางที่ท้ายอาร์เรย์และเลื่อนขึ้น (sift up) ตราบที่ยังละเมิดคุณสมบัติฮีป
การเพิ่มที่ท้ายรักษาต้นไม้ให้สมบูรณ์ การสลับกับแม่คืนลำดับใน O(log n) ขั้นตอน
คำตอบ: C · ทุกเส้นทางจากโหนดไปยังใบของลูกหลานมีจำนวนโหนดสีดำเท่ากัน
กฎของแดง–ดำ: โหนดเป็นสีแดงหรือดำ รากเป็นสีดำ โหนดสีแดงมีลูกสีดำ และทุกเส้นทางมี black-height เท่ากัน ทำให้ความสูง ≤ 2 log₂(n + 1)
คำตอบ: ไม่ใช่ทั้งสองอย่าง
ออยเลอร์ แฮมิลตัน และต้นไม้: กราฟเชื่อมโยงมีวงจรออยเลอร์ (ผ่านทุกเส้นเชื่อมครั้งเดียวและกลับจุดเริ่มต้น) เมื่อทุกจุดยอดมีดีกรีคู่ และมีทางเดินออยเลอร์ที่ไม่ใช่วงจรเมื่อมีจุดยอดดีกรีคี่พอดีสองจุด ทางเดินนั้นไปจากจุดยอดคี่จุดหนึ่งถึงอีกจุดหนึ่ง วงจรแฮมิลตันผ่านทุกจุดยอดครั้งเดียว Kn มีวงจรแบบนี้ (n − 1)!/2 วงจร ต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม และกราฟเชื่อมโยงที่มี m เส้นเชื่อมจะเหลือต้นไม้ทอดข้ามหลังเอาเส้นเชื่อมออก m − n + 1 เส้น
คำตอบ: W = 31
เส้นทางที่สั้นที่สุดและต้นไม้ทอดข้าม: ขั้นตอนวิธีของไดก์สตรายืนยันหนึ่งจุดยอดต่อรอบ: จุดยอดที่ยังไม่ยืนยันซึ่งมีระยะทางชั่วคราวน้อยที่สุด ระยะทางของมันเป็นค่าสุดท้ายแล้ว และเพื่อนบ้าน v ทุกจุดได้ d(v) = min(d(v), d(u) + w(u, v)) ขั้นตอนวิธีของครัสคัลสร้างต้นไม้ทอดข้ามค่าน้อยที่สุดโดยเลือกเส้นเชื่อมจากเบาไปหนักและข้ามเส้นที่ทำให้เกิดวัฏจักร ขั้นตอนวิธีของพริมขยายต้นไม้หนึ่งต้นจากจุดยอดเริ่มต้นโดยเพิ่มเส้นเชื่อมที่เบาที่สุดที่ออกจากต้นไม้เสมอ ต้นไม้ทอดข้ามที่มี n จุดยอดมี n − 1 เส้นเชื่อม
คำตอบ: C · เมื่อซับคิวรีคืนอย่างน้อยหนึ่งแถว
EXISTS ตรวจเพียงว่ามีแถวถูกสร้างหรือไม่ ส่วน NOT EXISTS เป็นจริงเมื่อซับคิวรีไม่คืนแถวเลย
คำตอบ: A · แถวส่วนใหญ่ตรงเงื่อนไข การสแกนทั้งตารางจึงถูกกว่าการค้นด้วยดัชนีจำนวนมาก
ดัชนีช่วยเมื่อลดการค้นหาให้เหลือไม่กี่แถว เมื่อแถวส่วนใหญ่ผ่านเงื่อนไข การค้นด้วยดัชนีแบบสุ่มมีต้นทุนมากกว่าการอ่านตารางตามลำดับ
คำตอบ: B · AAAA
เรกคอร์ด A เก็บที่อยู่ IPv4, AAAA เก็บที่อยู่ IPv6 ส่วน MX ระบุเมลเซิร์ฟเวอร์ และ CNAME ให้ชื่อแทน (alias)
คำตอบ: D · ชั้นทรานสปอร์ต
ส่วนหัวของ TCP และ UDP มีพอร์ตต้นทางและปลายทาง ส่วนชั้นอินเทอร์เน็ต (IP) เพิ่มที่อยู่
คำตอบ: H = 62
การแบ่งซับเน็ต IPv4: ที่อยู่มี 32 บิต พรีฟิกซ์ /p บอกว่าบิตนำหน้ากี่บิตระบุเครือข่าย ส่วน 32 − p บิตที่เหลือใช้ระบุเลขโฮสต์ ซับเน็ตมี 2³²⁻ᵖ ที่อยู่ แต่ที่อยู่แรก (ที่อยู่เครือข่าย) และที่อยู่สุดท้าย (ที่อยู่บรอดคาสต์) ใช้เป็นโฮสต์ไม่ได้ จึงมีโฮสต์ได้ 2³²⁻ᵖ − 2 เครื่อง ข้อยกเว้น: /31 (ลิงก์แบบจุดต่อจุด, RFC 3021) ใช้ทั้ง 2 แอดเดรสสำหรับโฮสต์ และ /32 เป็นแอดเดรสเดียว (โฮสต์เดียวหรือลูปแบ็ก)
คำตอบ: x = 62
การแบ่งซับเน็ต IPv4: ที่อยู่มี 32 บิต พรีฟิกซ์ /p บอกว่าบิตนำหน้ากี่บิตระบุเครือข่าย ส่วน 32 − p บิตที่เหลือใช้ระบุเลขโฮสต์ ซับเน็ตมี 2³²⁻ᵖ ที่อยู่ แต่ที่อยู่แรก (ที่อยู่เครือข่าย) และที่อยู่สุดท้าย (ที่อยู่บรอดคาสต์) ใช้เป็นโฮสต์ไม่ได้ จึงมีโฮสต์ได้ 2³²⁻ᵖ − 2 เครื่อง ข้อยกเว้น: /31 (ลิงก์แบบจุดต่อจุด, RFC 3021) ใช้ทั้ง 2 แอดเดรสสำหรับโฮสต์ และ /32 เป็นแอดเดรสเดียว (โฮสต์เดียวหรือลูปแบ็ก)
ExamProblems · examproblems.com/courses/computer-science-fundamentals