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

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

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

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

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

1.ง่าย

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

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

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

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

การท่องแบบ preorder ของต้นไม้ทวิภาคเยี่ยมโหนดตามลำดับใด

  1. Aต้นไม้ย่อยซ้าย แล้วต้นไม้ย่อยขวา แล้วโหนด
  2. Bโหนด แล้วต้นไม้ย่อยซ้าย แล้วต้นไม้ย่อยขวา
  3. Cทีละระดับจากด้านบน
  4. Dต้นไม้ย่อยซ้าย แล้วโหนด แล้วต้นไม้ย่อยขวา
4.ปานกลาง

โครงสร้างข้อมูลใดที่การค้นหาในแนวลึก (DFS) แบบวนซ้ำใช้

  1. Aคิว
  2. Bสแตก
  3. Cตารางแฮชเท่านั้น
  4. Dฮีป
5.ปานกลาง

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

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

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

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

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

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

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

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

เฉลย

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

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