ใบงาน โครงสร้างข้อมูล พร้อมเฉลย

ใบงาน โครงสร้างข้อมูล ฟรีสำหรับพิมพ์: 8 ข้อ ตั้งแต่ระดับง่ายถึงระดับข้อสอบจริง พร้อมเฉลย พิมพ์หรือบันทึกเป็น PDF ได้

ใบงานใหม่ฝึกออนไลน์พร้อมคำใบ้

สำหรับผู้สอน: พิมพ์ ทำสำเนา และใช้ในชั้นเรียนได้ฟรี ใบงานใหม่แต่ละชุดมีค่าตัวเลขใหม่และเฉลยของตัวเอง หากใส่ลิงก์ไปยัง ExamProblems ในหน้ารายวิชาของคุณ เราจะขอบคุณมาก

ชื่อ: ____________________   วันที่: ____________

1.ง่าย

การดำเนินการ peek (หรือ top) บนสแตกทำอะไร

  1. Aเอาสมาชิกทั้งหมดออกจากสแตก
  2. Bคืนสมาชิกบนสุดโดยไม่เอาออก
  3. Cคืนสมาชิกล่างสุดของสแตก
  4. Dเอาสมาชิกบนสุดออกและคืนค่า
2.ง่าย

ลักษณะเด่นของเซต (set) ในฐานะชนิดข้อมูลนามธรรมคืออะไร

  1. Aเก็บสมาชิกเรียงลำดับ
  2. Bเก็บสมาชิกโดยไม่มีซ้ำ
  3. Cเข้าถึงได้เฉพาะที่ปลายด้านเดียว
  4. Dเก็บคู่คีย์–ค่า
3.ง่าย

แมป (map หรือ dictionary) เก็บอะไร

  1. Aคู่ของคีย์ที่เท่ากัน
  2. Bคู่คีย์–ค่าที่คีย์ไม่ซ้ำกัน
  3. Cค่าที่เรียงตามขนาด
  4. Dค่าตามลำดับการแทรกเท่านั้น
4.ปานกลาง

เครือข่ายถนนมี 100,000 ทางแยก แต่ละแห่งเชื่อมกับประมาณ 4 แห่ง การแทนแบบใดเหมาะที่สุด

  1. Aอาร์เรย์เรียงลำดับเดียวของจุดยอด
  2. Bฮีปทวิภาคของเส้นเชื่อม
  3. Cรายการประชิด
  4. Dเมทริกซ์ประชิด
5.ปานกลาง

บัฟเฟอร์วงกลม (circular buffer หรือ ring buffer) มักใช้สร้าง

  1. Aต้นไม้ค้นหาแบบทวิภาค
  2. Bฟังก์ชันแฮช
  3. Cคิวขนาดคงที่
  4. Dการท่องกราฟ
6.ปานกลาง

จะเกิดอะไรขึ้นเมื่อตารางแฮช rehash หลังตัวประกอบการโหลดเกินเกณฑ์

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

อาร์เรย์พลวัตเพิ่มเป็นสองเท่าเมื่อเต็ม เหตุใดหลายการสร้างจึงหดมันเมื่อเหลือเพียงหนึ่งในสี่เท่านั้น ไม่ใช่ครึ่งหนึ่ง

  1. Aเพราะการหดที่ครึ่งหนึ่งทำให้สมาชิกหาย
  2. Bเพื่อให้อาร์เรย์เรียงลำดับ
  3. Cเพราะตัวจัดสรรหน่วยความจำคืนหน่วยความจำได้เฉพาะเป็นหนึ่งในสี่ของบล็อกเท่านั้น
  4. Dเพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
8.ยาก

เหตุใดเซิร์ฟเวอร์จึงเลือกฟังก์ชันแฮชแบบสุ่มจากตระกูลสากล (universal family)

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

เฉลย

  1. 1. B · คืนสมาชิกบนสุดโดยไม่เอาออก
  2. 2. B · เก็บสมาชิกโดยไม่มีซ้ำ
  3. 3. B · คู่คีย์–ค่าที่คีย์ไม่ซ้ำกัน
  4. 4. C · รายการประชิด
  5. 5. C · คิวขนาดคงที่
  6. 6. D · จัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
  7. 7. D · เพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
  8. 8. C · เพื่อทำให้ผู้โจมตีเลือกคีย์จำนวนมากที่ชนกันทั้งหมดได้ยากมาก

เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com