Page 38 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 38

15-28 โครงสร้าง​ข้อมูล​และข​ ั้นต​ อน​วิธี

N     	≥	  1
N2k	  ≥	   2K
2K	 ≤	 N
k	 ≤	 log N

จ�ำนวน​ครั้ง​ใน​การท​ �ำ​ซ้�ำ k ไม่​เกิน log n ดังน​ ้ัน​ประสิทธิภาพเ​ชิง​เวลาป​ ระมาณ O(log n)
4.3 	กรณี​ทั่วไป
กรณีน​ ้ีข​ ้อมูลท​ ี่​ต้องการค​ ้นหา​มี​ค่าอ​ ยู่ร​ ะหว่างต​ �ำแหน่งแ​ รกแ​ ละ​ต�ำแหน่ง​สุดท้าย​ในอ​ าร์เรย์​เช่น

      ข้อมูล​ที่ต​ ้องการ​ค้นหา คือ 15

      ข้อมูล 1 7 15 16 23 32 34

การ​ค้นหา​ลักษณะ​น้ี​จะ​ใช้​การ​เปรียบ​เทียบ​วน​ซ้ําจนกว่า​ขอบ​ซ้าย​มี​ค่า​มากกว่า​ขอบ​ขวา ​โดย​การ​วน​ซ้ํา
                                            N
แต่ละ​ครั้ง​จะ​ลด​จ​ �ำนวน​ข้อมูล​ลง​เหลือ  2  ซึ่ง​การ​วน​ซ้ํา จะ​อยู่​ระหว่าง 1 กับ log N โดย​เฉลี่ย​แล้ว​ประสิทธิภาพ
เ​ชิงเ​วลา​ประมาณ O(log n)

5. 	การน�ำ ข​ น้ั ตอนวิธีการค้นหาข้อมูลแบบทวภิ าคไป​ประยุกตใ์​ชง​้ าน

       ปัญหา​การ​หา​ค่า​ขอบ​ล่าง​หรือ​ขอบ​บน​ของ​ชุด​ล�ำดับ​จาก​ค่าที่​ก�ำหนดนั้น ​เป็นการ​ก�ำหนด​ช่วง​ของ​ชุด​ล�ำดับ​ท่​ี
​สนใจ​จาก​ลำ� ดับ​ทม่​ี อ​ี ยู่ โดย​ชว่ ง​ของ​ข้อมูล​น้นั ​ตอ้ ง​ม​ีค่า​ตาม​ท​่กี ำ� หนด​ดัง​ภาพ​ท่ี 15.7 ซึ่ง​แสดง​ถงึ ​การ​หา​ขอบ​ล่าง​โดย​ข้อมูล​
ท่ี​สนใจต​ ้องม​ ี​ค่า​มากกว่าค​ ่าที่ก​ �ำหนด x

                                                     >= x

                                                  x

                  ภาพ​ท่ี 15.7 ขอบล​ ่างแ​ ละช​ ว่ ง​ของข​ อ้ มูลจ​ าก​คา่ ทก​่ี �ำ หนด x

ตัวอย่าง​ท่ี 15.8 ก�ำหนด​ให้​ข้อมูล​ประกอบ​ด้วย 5 24 33 43 68 73 90 91 และ​ก�ำหนด​ให้​ค่าท่ี​ต้องการ​คือ 69 ให้หา​
ค่า​ต�ำแหน่ง​ของข​ ้อมูล​จากข​ ้อมูล​ที่ก​ �ำหนด โดยค​ ่าท่ีต​ �ำแหน่ง​น้ัน​มากกว่า​หรือ​เท่ากับ 69

ซึ่งก​ าร​แก้ป​ ัญหาโ​จทย์​นี้จ​ ะ​ประยุกต์ใ​ช้ว​ ิธี​การข​ องส​ ืบค้นแ​ บบ​ทวิภาค

ขั้นต​ อน​วิธี LowerBoundSearch มีร​ าย​ละเอียดด​ ังนี้

ข้อมูลเ​ข้า​ประกอบ​ด้วย
อาร์เรย์​ข้อมูลท​ ี่เ​รียงล​ �ำดับ​ไว้แ​ ล้ว	 A
จ�ำนวนข​ ้อมูล​ทั้งหมด 	                       n

ค่าข​ อบล​ ่าง	                                x
   33   34   35   36   37   38   39   40   41   42   43