ระบบเลข
- ค่าประจำตำแหน่ง
- ฐานสอง 2k, ฐานแปด 8k, ฐานสิบหก 16k
- เป็นเลขฐานสิบ
- Σ dk·bk
- จากเลขฐานสิบ
- หารด้วยฐาน อ่านเศษจากล่างขึ้นบน
- ฐานสิบหก ↔ ฐานสอง
- เลขฐานสิบหกหนึ่งหลัก = 4 บิต
- two’s complement
- กลับบิตแล้วบวก 1
สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 20 ข้อ พร้อมเฉลยละเอียดไว้ท้ายเล่ม
ตั้งบิตให้เก็บ −57 ใน two's complement 8 บิต อ่านเป็นจำนวนไม่มีเครื่องหมาย ค่าของรูปแบบ U เป็นเท่าใด
ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 1101 1100 AND 0111 1100 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ
ในตารางค่าความจริง 8 แถวของ (¬(b ∧ a) → c) → ((b → a) → c) มีกี่แถวที่เป็นจริง เรียกจำนวนนี้ว่า N
กำหนดสมมติฐาน a ∨ c; ¬a บทสรุปใดตามมาจากสมมติฐานเหล่านี้ ให้คลิกบทสรุปนั้น
ในแผนที่คาร์โนห์นี้มี 1 เพียงตัวเดียวพอดีที่ไม่มี 1 อยู่ติดกัน จึงยังเป็นกลุ่มหนึ่งเซลล์ (มินเทอมเต็มที่มีสี่ลิเทอรัล) ในรูป SOP ที่น้อยที่สุด เพื่อนบ้านข้ามขอบแผนที่นับด้วย ให้คลิกเซลล์นั้น
ตัวนับมอด-7 แบบซิงโครนัสนับ 0, 1, …, 6 แล้ววนกลับเป็น 0 เริ่มที่ 5 หลังพัลส์นาฬิกา 26 พัลส์ จะแสดงค่านับ Q (เป็นเลขฐานสิบ) เท่าใด
จงหาจำนวนเต็มบวกที่น้อยที่สุด x ที่ x ≡ 2 (mod 5) และ x ≡ 8 (mod 12)
ใช้การยกกำลังสองซ้ำเพื่อหา 34136 mod 63
ขอบเขตล่างของการเรียงลำดับแบบเปรียบเทียบในกรณีเลวร้ายที่สุดคือ
การคำนวณจำนวนฟีโบนักชีตัวที่ n ด้วยลูปที่เก็บเพียงสองค่าล่าสุดมีต้นทุนด้านเวลาและพื้นที่เท่าใด
ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ postorder คืออะไร
ใน BST ที่มีราก 50 ต้นไม้ย่อยซ้าย 30 (ลูก 20, 40) และต้นไม้ย่อยขวา 70 (ลูก 60, 80) ลบรากโดยใช้ in-order successor คีย์ใดกลายเป็นรากใหม่
ต้นไม้มี 4 จุดยอดดีกรี 3, 3 จุดยอดดีกรี 4, 3 จุดยอดดีกรี 5 และจุดยอดอื่นทั้งหมดเป็นใบ (ดีกรี 1) มีกี่ใบ L
ขั้นตอนวิธีของไดก์สตราเริ่มจาก A ให้คลิกจุดยอดที่ถูกยืนยัน (ทำให้เป็นค่าถาวร) ในรอบที่ 3 โดย A เองคือรอบที่ 1
SELECT SUM(amount) FROM orders คืนอะไรเมื่อ WHERE ไม่ตรงกับแถวใดเลย?
ฟังก์ชันหน้าต่างใดกำหนดเลข 1, 2, 3, ... ให้แถวภายในแต่ละพาร์ทิชันโดยไม่มีอันดับเสมอ?
ช่วงหมายเลขพอร์ต TCP/UDP ใดสงวนไว้เป็นพอร์ต "ที่รู้จักกันดี" (well-known)?
ในโพรโทคอลหน้าต่างเลื่อน (sliding window) Go-Back-N ต่างจาก Selective Repeat อย่างไรหลังเฟรมหนึ่งสูญหาย?
เครือข่าย 192.168.10.0/24 ต้องแบ่งเป็นซับเน็ตขนาดเท่ากันอย่างน้อย 10 ซับเน็ต หากยืมบิตให้น้อยที่สุด แต่ละซับเน็ตมีโฮสต์ที่ใช้ได้กี่เครื่อง H
โฮสต์มีที่อยู่ 172.20.49.154/23 ออกเท็ตที่สาม x ของที่อยู่เครือข่ายของมันคือเท่าใด
คำตอบ: U = 199
การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน
คำตอบ: R = 92
การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน
AND ให้ 1 เฉพาะที่ทั้งสองบิตเป็น 1
คำตอบ: N = 7
ตารางค่าความจริง: สูตรที่มีตัวแปรต่างกัน n ตัวมี 2ⁿ แถว หนึ่งแถวต่อทุกชุดของค่าความจริง (1 = จริง, 0 = เท็จ) ทำจากด้านในออกมาและให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง ¬a กลับค่า a ∧ b เป็น 1 เฉพาะเมื่อทั้งสองเป็น 1 a ∨ b เป็น 0 เฉพาะเมื่อทั้งสองเป็น 0 a → b เป็น 0 เฉพาะเมื่อ a = 1 และ b = 0 a ↔ b เป็น 1 เมื่อทั้งสองข้างเท่ากัน
คำตอบ: c
ตัวบ่งปริมาณและการอ้างเหตุผล: ¬∀x P(x) ≡ ∃x ¬P(x) และ ¬∃x P(x) ≡ ∀x ¬P(x) ย้ายนิเสธเข้าด้านใน สลับทุกตัวบ่งปริมาณที่นิเสธผ่าน และใส่นิเสธให้สูตรด้านในด้วยกฎของประพจน์ เช่น ¬(a → b) ≡ a ∧ ¬b การอ้างเหตุผลสมเหตุสมผลเมื่อบทสรุปเป็น 1 ในทุกแถวที่สมมติฐานทั้งหมดเป็น 1 แถวเดียวที่สมมติฐานเป็นจริงแต่บทสรุปเป็นเท็จคือตัวอย่างค้านและแสดงว่าการอ้างเหตุผลนั้นไม่สมเหตุสมผล
คำตอบ: AB = 10, CD = 11
แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด
1 ที่มี 1 อยู่ติดกันเข้ากลุ่มสองเซลล์หรือมากกว่าได้
คำตอบ: 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
ทุก 7 พัลส์ทำให้ตัวนับกลับสู่สถานะเดิม
คำตอบ: x = 32
ตัวผกผันและความสอดคล้อง: 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)
คำตอบ: 34136 mod 63 = 43
เลขยกกำลังมอดูลาร์และ 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 · Ω(n log n)
การเรียงแบบเปรียบเทียบใด ๆ ต้องใช้อย่างน้อย log₂(n!) ≈ n log n ครั้งในกรณีเลวร้ายที่สุด การเรียงแบบนับ (counting sort) ทำได้ดีกว่าเพราะไม่ได้เปรียบเทียบ
คำตอบ: C · เวลา O(n) และพื้นที่ O(1)
แต่ละขั้นต้องการเพียงสองค่าก่อนหน้า ตารางของวิธีล่างขึ้นบนจึงแทนที่ด้วยตัวแปรสองตัวได้
คำตอบ: B · 4 5 2 3 1
Postorder ประมวลผล 4 และ 5 ก่อน 2 แล้ว 3 และสุดท้ายราก 1
คำตอบ: D · 60
โหนดซ้ายสุดของต้นไม้ย่อยขวาคือ 60 ดังนั้น 60 แทนที่ 50 และตำแหน่งเดิมของมันถูกลบ ถ้าใช้ predecessor จะได้ 40
คำตอบ: L = 21
ออยเลอร์ แฮมิลตัน และต้นไม้: กราฟเชื่อมโยงมีวงจรออยเลอร์ (ผ่านทุกเส้นเชื่อมครั้งเดียวและกลับจุดเริ่มต้น) เมื่อทุกจุดยอดมีดีกรีคู่ และมีทางเดินออยเลอร์ที่ไม่ใช่วงจรเมื่อมีจุดยอดดีกรีคี่พอดีสองจุด ทางเดินนั้นไปจากจุดยอดคี่จุดหนึ่งถึงอีกจุดหนึ่ง วงจรแฮมิลตันผ่านทุกจุดยอดครั้งเดียว Kn มีวงจรแบบนี้ (n − 1)!/2 วงจร ต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม และกราฟเชื่อมโยงที่มี m เส้นเชื่อมจะเหลือต้นไม้ทอดข้ามหลังเอาเส้นเชื่อมออก m − n + 1 เส้น
ทางลัด: L = 2 + Σ (d − 2) ของจุดยอดที่มีดีกรี d ≥ 3
คำตอบ: C
เส้นทางที่สั้นที่สุดและต้นไม้ทอดข้าม: ขั้นตอนวิธีของไดก์สตรายืนยันหนึ่งจุดยอดต่อรอบ: จุดยอดที่ยังไม่ยืนยันซึ่งมีระยะทางชั่วคราวน้อยที่สุด ระยะทางของมันเป็นค่าสุดท้ายแล้ว และเพื่อนบ้าน v ทุกจุดได้ d(v) = min(d(v), d(u) + w(u, v)) ขั้นตอนวิธีของครัสคัลสร้างต้นไม้ทอดข้ามค่าน้อยที่สุดโดยเลือกเส้นเชื่อมจากเบาไปหนักและข้ามเส้นที่ทำให้เกิดวัฏจักร ขั้นตอนวิธีของพริมขยายต้นไม้หนึ่งต้นจากจุดยอดเริ่มต้นโดยเพิ่มเส้นเชื่อมที่เบาที่สุดที่ออกจากต้นไม้เสมอ ต้นไม้ทอดข้ามที่มี n จุดยอดมี n − 1 เส้นเชื่อม
คำตอบ: D · NULL
SUM, AVG, MIN และ MAX คืน NULL เมื่อเซตว่าง ส่วน COUNT คืน 0 COALESCE(SUM(amount), 0) ให้ 0 แทน
คำตอบ: A · ROW_NUMBER()
ROW_NUMBER ให้เลขลำดับที่ไม่ซ้ำ ส่วน RANK เว้นช่วงหลังอันดับเสมอ และ DENSE_RANK ไม่เว้น
คำตอบ: D · 0–1023
พอร์ต 0–1023 เป็นพอร์ตที่รู้จักกันดีสำหรับบริการมาตรฐาน 1024–49151 เป็นพอร์ตที่ลงทะเบียน และ 49152–65535 เป็นพอร์ตไดนามิกหรือส่วนตัว
คำตอบ: B · Go-Back-N ส่งเฟรมที่หายและเฟรมหลังจากนั้นทั้งหมดซ้ำ ส่วน Selective Repeat ส่งซ้ำเฉพาะเฟรมที่หายเท่านั้น
ผู้รับ Go-Back-N ทิ้งเฟรมที่มาไม่เป็นลำดับ ผู้ส่งจึงต้องส่งทุกอย่างหลังการสูญหายซ้ำ Selective Repeat เก็บเฟรมเหล่านั้นไว้ในบัฟเฟอร์และขอเฉพาะเฟรมที่ขาด
คำตอบ: H = 14
การแบ่งซับเน็ต IPv4: ที่อยู่มี 32 บิต พรีฟิกซ์ /p บอกว่าบิตนำหน้ากี่บิตระบุเครือข่าย ส่วน 32 − p บิตที่เหลือใช้ระบุเลขโฮสต์ ซับเน็ตมี 2³²⁻ᵖ ที่อยู่ แต่ที่อยู่แรก (ที่อยู่เครือข่าย) และที่อยู่สุดท้าย (ที่อยู่บรอดคาสต์) ใช้เป็นโฮสต์ไม่ได้ จึงมีโฮสต์ได้ 2³²⁻ᵖ − 2 เครื่อง ข้อยกเว้น: /31 (ลิงก์แบบจุดต่อจุด, RFC 3021) ใช้ทั้ง 2 แอดเดรสสำหรับโฮสต์ และ /32 เป็นแอดเดรสเดียว (โฮสต์เดียวหรือลูปแบ็ก)
คำตอบ: x = 48
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).
ExamProblems · examproblems.com/courses/computer-science-fundamentals