1.ง่าย
การท่องแบบ preorder ของต้นไม้ทวิภาคเยี่ยมโหนดตามลำดับใด
- Aโหนด แล้วต้นไม้ย่อยซ้าย แล้วต้นไม้ย่อยขวา
- Bต้นไม้ย่อยซ้าย แล้วโหนด แล้วต้นไม้ย่อยขวา
- Cต้นไม้ย่อยซ้าย แล้วต้นไม้ย่อยขวา แล้วโหนด
- Dทีละระดับจากด้านบน
2.ง่าย
ลักษณะเด่นของเซต (set) ในฐานะชนิดข้อมูลนามธรรมคืออะไร
- Aเก็บสมาชิกโดยไม่มีซ้ำ
- Bเก็บคู่คีย์–ค่า
- Cเก็บสมาชิกเรียงลำดับ
- Dเข้าถึงได้เฉพาะที่ปลายด้านเดียว
3.ง่าย
ในลิงก์ลิสต์เชิงเดี่ยว (singly linked list) แต่ละโหนดประกอบด้วย
- Aข้อมูลและการอ้างอิงไปยังโหนดอื่นทั้งหมด
- Bข้อมูลและการอ้างอิงไปยังโหนดถัดไป
- Cข้อมูลเท่านั้น
- Dข้อมูลและดัชนี
4.ปานกลาง
สมาชิกใหม่ถูกแทรกลงในฮีปทวิภาคอย่างไร
- Aแทรกที่ตำแหน่งตามลำดับโดยเลื่อนสมาชิกที่ใหญ่กว่าทั้งหมดไปทางขวาหนึ่งตำแหน่ง
- Bวางที่รากและเลื่อนลง
- Cวางที่ท้ายอาร์เรย์และเลื่อนขึ้น (sift up) ตราบที่ยังละเมิดคุณสมบัติฮีป
- Dสร้างฮีปใหม่ทั้งหมดตั้งแต่ต้น
5.ปานกลาง
แทรกคีย์ 50, 30, 70, 20, 40 ตามลำดับนี้ลงใน binary search tree ว่าง ลูกซ้ายของ 30 คืออะไร
- A70
- B40
- C50
- D20
6.ปานกลาง
ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ preorder คืออะไร
- A4 5 2 3 1
- B4 2 5 1 3
- C1 2 4 5 3
- D1 2 3 4 5
7.ยาก
เหตุใดจึงใช้ B-tree ในฐานข้อมูลและระบบไฟล์
- Aเก็บข้อมูลโดยไม่เรียงลำดับ
- Bตัวประกอบการแตกแขนงสูงทำให้ต้นไม้ตื้น ลดการอ่านดิสก์ที่ช้า
- Cไม่ต้องปรับสมดุลใหม่
- Dใช้หน่วยความจำน้อยกว่าอาร์เรย์ใด ๆ ดัชนีทั้งหมดจึงเก็บในหน่วยความจำหลักได้เสมอ
8.ยาก
ต้นไม้แดง–ดำ (red-black tree) ต้องมีคุณสมบัติใด
- Aโหนดสีแดงทุกโหนดต้องมีลูกสีแดง โหนดสีแดงจึงต่อเป็นสายไม่ขาดตอนไปจนถึงใบ
- Bทุกโหนดต้องเป็นสีแดง
- Cทุกเส้นทางจากโหนดไปยังใบของลูกหลานมีจำนวนโหนดสีดำเท่ากัน
- Dรากต้องเป็นสีแดง
เฉลย
- 1. A · โหนด แล้วต้นไม้ย่อยซ้าย แล้วต้นไม้ย่อยขวา
- 2. A · เก็บสมาชิกโดยไม่มีซ้ำ
- 3. B · ข้อมูลและการอ้างอิงไปยังโหนดถัดไป
- 4. C · วางที่ท้ายอาร์เรย์และเลื่อนขึ้น (sift up) ตราบที่ยังละเมิดคุณสมบัติฮีป
- 5. D · 20
- 6. C · 1 2 4 5 3
- 7. B · ตัวประกอบการแตกแขนงสูงทำให้ต้นไม้ตื้น ลดการอ่านดิสก์ที่ช้า
- 8. C · ทุกเส้นทางจากโหนดไปยังใบของลูกหลานมีจำนวนโหนดสีดำเท่ากัน
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com