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

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

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

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

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

1.ง่าย

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

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

ฟังก์ชันแฮชทำอะไรในตารางแฮช

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

โครงสร้างข้อมูลใดทำงานตามหลักการ "เข้าหลังออกก่อน" (last in, first out)

  1. Aสแตก (stack)
  2. Bตารางแฮช (hash table)
  3. Cลิงก์ลิสต์ (linked list)
  4. Dคิว (queue)
4.ปานกลาง

ในตารางแฮชที่ใช้ open addressing ตัวประกอบการโหลดสูงสุดที่เป็นไปได้คือเท่าใด

  1. A0.5
  2. Bไม่มีค่าสูงสุด
  3. C2
  4. D1
5.ปานกลาง

โหนดใน binary search tree มีต้นไม้ย่อยขวา in-order successor ของมันอยู่ที่ใด

  1. Aลูกขวาของมันเสมอ
  2. Bแม่ของมันเสมอ
  3. Cโหนดขวาสุดของต้นไม้ย่อยซ้าย
  4. Dโหนดซ้ายสุดของต้นไม้ย่อยขวา
6.ปานกลาง

ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ preorder คืออะไร

  1. A4 2 5 1 3
  2. B4 5 2 3 1
  3. C1 2 3 4 5
  4. D1 2 4 5 3
7.ยาก

โหนด AVL ไม่สมดุลเพราะต้นไม้ย่อยขวาของลูกซ้ายสูงเกินไป (กรณีซ้าย–ขวา) ใช้วิธีแก้ใด

  1. Aหมุนซ้ายที่ลูกซ้าย แล้วหมุนขวาที่โหนด
  2. Bหมุนซ้ายหนึ่งครั้งที่โหนด
  3. Cหมุนขวาหนึ่งครั้งที่โหนด
  4. Dหมุนขวาที่ลูกซ้าย แล้วหมุนซ้ายที่โหนด
8.ยาก

ในบัฟเฟอร์วงกลม front == rear อาจหมายถึงว่างหรือเต็ม วิธีทั่วไปในการแยกสองกรณีคืออะไร

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

เฉลย

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

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