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

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

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

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

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

1.ง่าย

ข้อแตกต่างหลักระหว่างอาร์เรย์สถิตกับอาร์เรย์พลวัตคืออะไร

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

ความสูงของต้นไม้มักถูกนิยามว่า

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

ในตารางแฮช การชนกัน (collision) คืออะไร

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

อัลกอริทึมของ Dijkstra ใช้ชนิดข้อมูลนามธรรมใดเลือกจุดยอดถัดไปที่จะประมวลผล

  1. Aสแตก
  2. Bคิว FIFO
  3. Cคิวลำดับความสำคัญแบบค่าต่ำสุด (min-priority queue)
  4. Dเซตที่ไม่มีลำดับ
5.ปานกลาง

โครงสร้างข้อมูลใดที่การค้นหาในแนวลึก (DFS) แบบวนซ้ำใช้

  1. Aตารางแฮชเท่านั้น
  2. Bสแตก
  3. Cฮีป
  4. Dคิว
6.ปานกลาง

โครงสร้างข้อมูลใดใช้ตรวจว่าวงเล็บใน "{[()]}" สมดุลหรือไม่

  1. Aคิว
  2. Bสแตก
  3. Cตารางแฮช
  4. Dbinary search tree
7.ยาก

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

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

ข้อใดเกี่ยวกับ heapsort ถูกต้อง

  1. Aเรียงในที่เดิมใน O(n log n) กรณีเลวร้ายที่สุด แต่ไม่เสถียร
  2. Bต้องใช้ binary search tree เป็นที่เก็บเพิ่มเติม จึงใช้หน่วยความจำเพิ่ม O(n)
  3. Cเสถียรและต้องใช้หน่วยความจำเพิ่ม O(n)
  4. Dทำงานใน O(n) กับอินพุตใด ๆ

เฉลย

  1. 1. D · อาร์เรย์พลวัตขยายได้โดยย้ายไปยังบล็อกหน่วยความจำที่ใหญ่กว่า
  2. 2. B · จำนวนเส้นเชื่อมบนเส้นทางที่ยาวที่สุดจากรากไปยังใบ
  3. 3. D · คีย์สองตัวที่ต่างกันแปลงเป็นดัชนีเดียวกัน
  4. 4. C · คิวลำดับความสำคัญแบบค่าต่ำสุด (min-priority queue)
  5. 5. B · สแตก
  6. 6. B · สแตก
  7. 7. C · เพื่อทำให้ผู้โจมตีเลือกคีย์จำนวนมากที่ชนกันทั้งหมดได้ยากมาก
  8. 8. A · เรียงในที่เดิมใน O(n log n) กรณีเลวร้ายที่สุด แต่ไม่เสถียร

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