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

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

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

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

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

1.ง่าย

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

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

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

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

สมาชิกของอาร์เรย์ถูกเก็บในหน่วยความจำอย่างไร

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

โปรแกรมที่ทำงานอยู่ใช้โครงสร้างข้อมูลใดติดตามการเรียกฟังก์ชันที่กำลังทำงานและตัวแปรท้องถิ่น

  1. Aตารางแฮชของฟังก์ชัน
  2. Bสแตกการเรียก (call stack)
  3. Cbinary search tree ของเฟรม
  4. Dคิวหน่วยความจำฮีป
5.ปานกลาง

ในคิววงกลมที่เก็บในอาร์เรย์ความจุ n ตำแหน่งถัดจากดัชนี i คำนวณอย่างไร

  1. A(i − 1) mod n
  2. Bi + 1
  3. C2i + 1
  4. D(i + 1) mod n
6.ปานกลาง

วิธีแก้การชนกันแบบใดเก็บคีย์ที่ชนกันไว้ในลิสต์ที่ถังเดียวกัน

  1. Aการตรวจสอบกำลังสอง (quadratic probing)
  2. Bการตรวจสอบเชิงเส้น (linear probing)
  3. Cการแฮชซ้อน (double hashing)
  4. Dการเชื่อมโซ่แยก (separate chaining)
7.ยาก

segment tree มักใช้เพื่อ

  1. Aเก็บเส้นเชื่อมของกราฟ
  2. Bสร้างสแตก
  3. Cตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
  4. Dเรียงสตริงตามตัวอักษรโดยเก็บแต่ละคำนำหน้าไว้ในโหนดต้นไม้แยกกัน
8.ยาก

ข้อได้เปรียบหลักของ skip list เหนือลิงก์ลิสต์ที่เรียงลำดับคืออะไร

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

เฉลย

  1. 1. D · คืนสมาชิกบนสุดโดยไม่เอาออก
  2. 2. C · อาร์เรย์พลวัตขยายได้โดยย้ายไปยังบล็อกหน่วยความจำที่ใหญ่กว่า
  3. 3. C · ในบล็อกต่อเนื่องเดียว ต่อกันทีละตัว
  4. 4. B · สแตกการเรียก (call stack)
  5. 5. D · (i + 1) mod n
  6. 6. D · การเชื่อมโซ่แยก (separate chaining)
  7. 7. C · ตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
  8. 8. C · การค้นหา O(log n) คาดหมาย โดยใช้ตัวชี้ไปข้างหน้าหลายระดับ

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