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

ขั้น​ตอนว​ ิธี​การ​ค้นหา​ข้อมูล 15-41

       - 	prev = 7, A[7] = 90 ไม่​น้อย​กว่า x
       - 	สิ้นส​ ุดก​ ารท​ �ำ​งาน​ ข​องลูป while
       - 	เน่ืองจาก A[7] = x ดังน​ ั้น ส่ง​ค่า​กลับเ​ป็น 7

4. 	วิเคราะห​์ประสทิ ธิภาพของข้ันตอนวธิ ีการคน้ หาข้อมูลแบบกระโดด

       การว​ ิเคราะห์​ประสิทธิภาพ​นั้น​จะพ​ ิจารณา​จาก​ลักษณะก​ าร​ค้นหาข​ ้อมูลท​ ่ีไ​ด้ 3 แบบ ดังน้ี
       4.1	 กรณดี​ ​ีทีส่ ดุ

            กรณีน​ ี้​ข้อมูลท​ ี่ต​ ้องการ​ค้นหา​อยู่​เป็น​สมาชิก​ตรง​ค่า​กระโดด​ครั้ง​แรก ​เช่น
                ข้อมูลท​ ่ี​ต้องการ​ค้นหา คือ 16
                ข้อมูล 1 7 15 16 23 32 34 35 39 45 56 67 88 89 90 95
                     n	 =	 16
                     k	 =	 n
                     	 =	 16
                     	 = 	4

            การ​ค้นหา​ลักษณะ​นี้จ​ ะใ​ช้​การ​เปรียบเ​ทียบแ​ ค่​ครั้ง​เดียวเ​สมอ​ดังน​ ั้น ​ประสิทธิภาพเ​ชิง​เวลา​เท่ากับ O(1)
       4.2	 กรณ​แี ยท่​ ี่สุด

            กรณน​ี ข​ี้ อ้ มลู ท​ ​ต่ี อ้ งการค​ น้ หาม​ ค​ี า่ น​ อ้ ยก​ วา่ ค​ า่ ทต​่ี ำ� แหนง่ ก​ ารกร​ ะโ​ดดค​ รงั้ ส​ ดุ ทา้ ย แ​ ละม​ ากกวา่ ห​ รอื เ​ทา่ กบั
ข้อมูลท​ ่ีต�ำแหน่งก​ ่อน​การกร​ ะ​โดด​ครั้ง​สุดท้าย

                ข้อมูล​ท่ี​ต้องการค​ ้นหา คือ 94
                ข้อมูล 1 7 15 16 23 32 34 35 39 45 56 67 88 89 90 95
            จ�ำนวนร​ อบ​การ​ท�ำ​ซํ้าคือ n โดยห​ าค​ ่าม​ า​จากก​ าร​หาอ​ นุพันธ์​ของ f(k) = n/k + (k-1)
            ดัง​นั้น​ประสิทธิภาพเ​ชิงเ​วลา = O( n)
       4.3	 กรณที​ วั่ ไป
            กรณีน​ ี้ข​ ้อมูล​ที่ต​ ้องการค​ ้นหา​มีค​ ่า​อยู่ร​ ะหว่างก​ รณี​ดีท​ ่ีสุด​กับแ​ ย่ท​ ี่สุด
                ข้อมูล​ที่​ต้องการ​ค้นหา คือ 35
                ข้อมูล 1 7 15 16 23 32 34 35 39 45 56 67 88 89 90 95
            โดย​เฉลี่ย​แล้ว​ประสิทธิภาพ​เชิงเ​วลาป​ ระมาณ O( n)

5. 	การป​ ระยุกต​ใ์ ชข้ ้ันตอนวิธีการค้นหาขอ้ มลู แบบกระโดด

       ข้ัน​ตอน​วิธี​แต่ละ​ประเภท​โดย​ทั่วไป​แล้ว​มี​งาน​ท่ี​เหมาะ​สม​จะ​ประยุกต์​ใช้​การ​ค้นหา​แบบ​กระโดด​เป็น​วิธี​การ​ที่​
เหมาะ​สม​มาก​ส�ำหรับ​งาน​ท่ี​มี​จ�ำนวน​ข้อมูล​จ�ำนวน​มาก เมื่อ​เปรียบ​เทียบ​กับ​การ​ค้นหา​แบบ​ทวิภาค​แล้ว การ​ค้นหา​แบบ​
ทวภิ าค​นน้ั ​งา่ ย​ตอ่ ​การ​ใช​แ้ ละ​ประสทิ ธภิ าพ​โดย​รวม​คอื O(log (n)) แต​่ใน​กรณ​ขี อง​จำ� นวน​ขอ้ มลู ​ม​จี ำ� นวน​มาก​การก​ระ​โดด
ตรง​ไป​ยัง​ต�ำแหน่ง​กลาง​อาจ​เป็น​วิธี​การ​ที่​ไม่​เหมาะ​สม​ถ้า​ข้อมูล​อยู่​ประมาณ​ตอน​ต้น​ของ​ล�ำดับ​รายการ ซ่ึง​จะ​ท�ำให้​ต้อง​
กระโดด​ย้อน​หลัง​ข้าม​ข้อมูล​เป็น​จ�ำนวน​มาก การ​ใช้​งานการ​ค้นหา​แบบ​กระโดด​จะ​มี​ความ​เหมาะ​สม​กับ​งาน​ที่​
การ​เคล่ือนที่​ไป​ข้าง​หน้า​มี​ความเร็ว​กว่า​เคลื่อนท่ี​ย้อน​หลัง​ทั้งน้ี การ​ค้นหา​แบบ​กระโดด​มี​การก​ระ​โดด​ย้อน​หลัง​เพียง
ค​ ร้ัง​เดียวเ​ท่าน้ัน
   46   47   48   49   50   51   52   53   54   55   56