Page 42 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 42
15-32 โครงสร้างข้อมูลและข ั้นตอนวิธี
กิจกรรม 15.1.4
1. เพราะเหตใุ ดการค น้ หาแ บบท วิภาคจ ึงไม่เหมาะส มก ับข ้อมลู ท ไี่ ม่ไดเ้รยี งล�ำ ดับ
2. ฟังก์ชัน BinarySearch ค้นหาข้อมูลท่ีมีการเรียงลำ�ดับจากน้อยไปมาก ถ้าต้องการประยุกต์ใช้
ฟงั กช์ นั BinarySearch กบั ข อ้ มลู ท มี่ กี ารเรยี งล �ำ ดบั จ ากม ากไปน อ้ ย ตอ้ งม กี ารเปลย่ี นแปลงฟ งั กช์ นั BinarySearch
อย่างไร
แนวต อบกจิ กรรม 15.1.4
1. สาเหตุท่ีการค้นหาแบบทวิภาคไม่เหมาะสมกับข้อมูลที่ไม่เรียงลำ�ดับ เพราะเม่ือแบ่งครึ่งข้อมูลตาม
ขั้นตอนวิธีแบบทวิภาคแล้วไม่สามารถบอกได้ว่าข้อมูลน่าจะอยู่ที่ครึ่งซ้ายหรือขวา ทั้งนี้เนื่องจากข้อมูลทั้งครึ่ง
ซ้ายแ ละขวาอาจมีทั้งข ้อมูลทีม่ ากกว า่ แ ละน อ้ ยก ว่าขอ้ มลู ณ ตำ�แหน่งต รงกลาง
2. เปลีย่ นบ รรทดั ท ี่ 9 จาก x < A[pos] เปน็ x > A[pos]