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

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

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

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

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

1.ง่าย

การดำเนินการใดช้าในอาร์เรย์แต่เร็วที่ส่วนหัวของลิงก์ลิสต์

  1. Aการแทรกที่จุดเริ่มต้น
  2. Bการเข้าถึงสมาชิกตัวที่ 5
  3. Cการอ่านสมาชิกตัวสุดท้ายด้วยดัชนี
  4. Dการหาความยาวของอาร์เรย์ขนาดคงที่
2.ง่าย

ในลิงก์ลิสต์เชิงเดี่ยว (singly linked list) แต่ละโหนดประกอบด้วย

  1. Aข้อมูลเท่านั้น
  2. Bข้อมูลและการอ้างอิงไปยังโหนดถัดไป
  3. Cข้อมูลและดัชนี
  4. Dข้อมูลและการอ้างอิงไปยังโหนดอื่นทั้งหมด
3.ง่าย

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

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

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

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

ต้นไม้ทวิภาคสมบูรณ์เต็ม (perfect binary tree) ที่มีความสูง h มีกี่โหนด เมื่อความสูงนับเป็นเส้นเชื่อม

  1. Ah2
  2. B2h+1 − 1
  3. C2h + 1
  4. D2h
6.ปานกลาง

รายการประชิดใช้หน่วยความจำเท่าใดสำหรับกราฟที่มี V จุดยอดและ E เส้นเชื่อม

  1. AO(V × E)
  2. BO(E²)
  3. CO(V + E)
  4. DO(V²)
7.ยาก

คุณต้องเก็บค่าที่น้อยที่สุด k ตัวจากสตรีมของตัวเลข n ตัวโดยใช้หน่วยความจำ O(k) แนวทางใดทำงานใน O(n log k)

  1. Aคิว FIFO ของ k ค่าล่าสุด
  2. Bอาร์เรย์เรียงลำดับของค่าทั้ง n
  3. Cmin-heap ที่เก็บค่าทั้ง n ตัว แล้วดึงค่าที่น้อยที่สุด k ตัวออกมาตอนท้าย
  4. Dmax-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
8.ยาก

การกลับลิงก์ลิสต์เชิงเดี่ยวในที่เดิมมีต้นทุนด้านเวลาและพื้นที่เพิ่มเติมเท่าใด

  1. Aเวลา O(1) และพื้นที่เพิ่ม O(1)
  2. Bเวลา O(n log n) และพื้นที่เพิ่ม O(1)
  3. Cเวลา O(n) และพื้นที่เพิ่ม O(n)
  4. Dเวลา O(n) และพื้นที่เพิ่ม O(1)

เฉลย

  1. 1. A · การแทรกที่จุดเริ่มต้น
  2. 2. B · ข้อมูลและการอ้างอิงไปยังโหนดถัดไป
  3. 3. A · สแตก (stack)
  4. 4. B · การเชื่อมโซ่แยก (separate chaining)
  5. 5. B · 2h+1 − 1
  6. 6. C · O(V + E)
  7. 7. D · max-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา
  8. 8. D · เวลา O(n) และพื้นที่เพิ่ม O(1)

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