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

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

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

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

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

1.ง่าย

กราฟมีทิศทาง (directed graph) คืออะไร

  1. Aกราฟที่ทุกคู่ของจุดยอดที่ต่างกันเชื่อมกันด้วยเส้นเชื่อม
  2. Bกราฟที่ไม่มีวงจร
  3. Cกราฟที่เส้นเชื่อมทุกเส้นมีน้ำหนัก
  4. Dกราฟที่เส้นเชื่อมมีทิศทางจากจุดยอดหนึ่งไปอีกจุดหนึ่ง
2.ง่าย

ลักษณะเด่นของเซต (set) ในฐานะชนิดข้อมูลนามธรรมคืออะไร

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

แต่ละโหนดในลิงก์ลิสต์สองทิศทาง (doubly linked list) มีอะไร

  1. Aข้อมูลและตัวชี้สองตัว ตัวหนึ่งไปโหนดถัดไปและอีกตัวไปโหนดที่ถัดจากนั้นอีกหนึ่งโหนด
  2. Bข้อมูลและตัวชี้ไปโหนดถัดไปเท่านั้น
  3. Cข้อมูล ตัวชี้ไปโหนดถัดไป และตัวชี้ไปโหนดก่อนหน้า
  4. Dข้อมูลสองชุดและตัวชี้หนึ่งตัว
4.ปานกลาง

ในฮีปทวิภาคที่เก็บในอาร์เรย์เริ่มที่ดัชนี 0 แม่ของโหนดที่ดัชนี i อยู่ที่ใด

  1. Aที่ดัชนี i − 1
  2. Bที่ดัชนี ⌊i / 2⌋ + 1
  3. Cที่ดัชนี 2i + 1
  4. Dที่ดัชนี ⌊(i − 1) / 2⌋
5.ปานกลาง

ความซับซ้อนเชิงเวลาของการค้นหาคีย์ใน binary search tree ที่สมดุลคือเท่าใด

  1. AO(n)
  2. BO(1)
  3. CO(log n)
  4. DO(n log n)
6.ปานกลาง

คิวถูกสร้างด้วยสแตกสองตัว: push ลงสแตก "in" และ pop จากสแตก "out" โดยเติมจาก "in" เมื่อว่าง ต้นทุนกระจายต่อการดำเนินการคือเท่าใด

  1. AO(n²)
  2. BO(1)
  3. CO(n)
  4. DO(log n)
7.ยาก

radix tree (compressed trie) ปรับปรุง trie ธรรมดาอย่างไร

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

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

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

เฉลย

  1. 1. D · กราฟที่เส้นเชื่อมมีทิศทางจากจุดยอดหนึ่งไปอีกจุดหนึ่ง
  2. 2. C · เก็บสมาชิกโดยไม่มีซ้ำ
  3. 3. C · ข้อมูล ตัวชี้ไปโหนดถัดไป และตัวชี้ไปโหนดก่อนหน้า
  4. 4. D · ที่ดัชนี ⌊(i − 1) / 2⌋
  5. 5. C · O(log n)
  6. 6. B · O(1)
  7. 7. C · รวมโซ่ของโหนดที่มีลูกตัวเดียวเป็นเส้นเชื่อมเดียวที่ติดป้ายด้วยสตริง
  8. 8. D · max-heap ขนาด k โดยแทนที่รากเมื่อมีค่าที่เล็กกว่ามา

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