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

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

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

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

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

1.ง่าย

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

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

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

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

กราฟมีน้ำหนัก (weighted graph) คืออะไร

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

การค้นหาคำความยาว L ใน trie ที่มีตัวอักษรคงที่ใช้เวลาเท่าใด

  1. AO(log n) เมื่อ n คือจำนวนคำ
  2. BO(L) ไม่ขึ้นกับจำนวนคำที่เก็บ
  3. CO(n) เมื่อ n คือจำนวนคำ
  4. DO(L × n)
5.ปานกลาง

extract-min ใน min-heap ทวิภาคทำงานอย่างไร

  1. Aค้นหาใบทั้งหมดเพื่อหาค่าต่ำสุดใหม่
  2. Bย้ายสมาชิกสุดท้ายไปที่รากและเลื่อนลง (sift down)
  3. Cลบสมาชิกสุดท้ายของอาร์เรย์
  4. Dลบรากและเลื่อนสมาชิกทั้งหมดไปทางซ้ายหนึ่งตำแหน่ง
6.ปานกลาง

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

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

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

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

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

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

เฉลย

  1. 1. C · ในบล็อกต่อเนื่องเดียว ต่อกันทีละตัว
  2. 2. C · คืนสมาชิกบนสุดโดยไม่เอาออก
  3. 3. B · กราฟที่แต่ละเส้นเชื่อมมีค่าตัวเลข เช่น ต้นทุนหรือระยะทาง
  4. 4. B · O(L) ไม่ขึ้นกับจำนวนคำที่เก็บ
  5. 5. B · ย้ายสมาชิกสุดท้ายไปที่รากและเลื่อนลง (sift down)
  6. 6. D · การเชื่อมโซ่แยก (separate chaining)
  7. 7. A · เพื่อหลีกเลี่ยงการปรับขนาดซ้ำเมื่อ push และ pop สลับกันใกล้ขอบเขต
  8. 8. D · การค้นหา O(log n) คาดหมาย โดยใช้ตัวชี้ไปข้างหน้าหลายระดับ

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