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

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

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

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

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

1.ง่าย

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

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

การดำเนินการใดเป็น O(1) สำหรับอาร์เรย์แต่เป็น O(n) สำหรับลิงก์ลิสต์เชิงเดี่ยว

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

ต้นไม้ที่มี n โหนดมีเส้นเชื่อมกี่เส้น

  1. An − 1
  2. B2n
  3. Cn + 1
  4. Dn
4.ปานกลาง

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

  1. A4 2 5 1 3
  2. B1 2 4 5 3
  3. C5 4 3 2 1
  4. D4 5 2 3 1
5.ปานกลาง

จุดประสงค์ของโหนดยามเฝ้า (sentinel หรือ dummy) ในลิงก์ลิสต์คืออะไร

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

ความสูงในกรณีเลวร้ายที่สุดของ binary search tree ที่มี n โหนดคือเท่าใด ถ้าแทรกคีย์ตามลำดับที่เรียงแล้ว

  1. A1
  2. Bn (กลายเป็นลิงก์ลิสต์)
  3. Clog₂ n
  4. D√n
7.ยาก

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

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

เหตุใดฐานข้อมูลจึงมักใช้ B+ tree แทน B-tree ธรรมดาสำหรับดัชนี

  1. Aระเบียนทั้งหมดอยู่ในใบที่เชื่อมกัน ทำให้สแกนช่วงได้มีประสิทธิภาพ
  2. BB+ tree ใช้โหนดภายในแบบทวิภาค ซึ่งลดจำนวนการอ่านดิสก์
  3. CB+ tree เก็บข้อมูลที่รากเท่านั้น
  4. DB+ tree ไม่จำเป็นต้องสมดุล

เฉลย

  1. 1. C · คีย์สองตัวที่ต่างกันแปลงเป็นดัชนีเดียวกัน
  2. 2. A · การเข้าถึงสมาชิกที่ดัชนี i
  3. 3. A · n − 1
  4. 4. D · 4 5 2 3 1
  5. 5. A · ทำให้โค้ดง่ายขึ้นโดยตัดกรณีพิเศษที่หัวหรือท้าย
  6. 6. B · n (กลายเป็นลิงก์ลิสต์)
  7. 7. B · ตอบคำถามช่วง (เช่น ผลรวมช่วง) และอัปเดตใน O(log n)
  8. 8. A · ระเบียนทั้งหมดอยู่ในใบที่เชื่อมกัน ทำให้สแกนช่วงได้มีประสิทธิภาพ

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