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

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

เรอ่ื งท​ ่ี 15.2.1
การค​ น้ หาข​ ้อมูลแ​ บบก​ ระโดด

โดยท​ ั่วไปแ​ ล้วส​ �ำหรับข​ ้อมูลท​ ี่ม​ ีก​ ารจ​ ัดเ​รียงไ​วแ้​ ล้ว​วิธีก​ ารค​ ้นหาแ​ บบล​ �ำดับเ​ป็นว​ ิธกี​ ารท​ ี่​มี​ประสิทธิภาพไ​มด่​ ีน​ ัก

​เพราะ​ว่า​ต้อง​ตรวจ​สอบ​สมาชิก​แต่ละ​ตัว​ก่อน​ถึง​สมาชิก​ท่ี​ต้องการ ซึ่ง​เป็น​ท่ี​ทราบ​กัน​ดี​อยู่​แล้ว​ว่า​สมาชิก​ของ​อาร์เรย์​

ท่ี​มี​การ​เรียง​ตัว​กัน​อยู่​แล้ว​นั้น ​ไม่​จ�ำเป็น​ต้อง​ตรวจ​สอบ​สมาชิก​ทุก​ตัว การ​ค้นหา​แบบ​กระโดด (jump search)

ตรวจ​สอบ​สมาชิก​ของ​อาร์เรย์ ถ้า​ค่า​น้อย​กว่า​ค่า​ของ​ข้อมูล​ที่​สืบค้น ก็​จะ​ข้าม​การ​ตรวจ​สอบ​สมาชิก​บาง​ตัว​โดย​การ​ข้าม​

หรือ​กระโดด​ไป​ข้าง​หน้า​และ​ตรวจ​สอบ​ค่า​ของ​สมาชิก​ตรง​นั้น​กับ​ข้อมูล​ท่ี​สืบค้น ถ้า​ค่า​ปัจจุบัน​มี​ค่า​มากกว่า​ค่าท่ี​สืบค้น

ก็​จะ​ทราบ​ได้​ว่า​ข้อมูล​ที่​ต้องการ​ค้นหา​อยู่​ระหว่าง​ค่าท่ี​ตรวจ​สอบ​ก่อน​หน้า​นี้​กับ​ค่า​ปัจจุบัน ถ้า​ค่า​ของ​ปัจจุบัน​น้อย​กว่า​

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

ค่า k โดยก​ าร​ตรวจส​ อบ​นั้น​เป็นด​ ังนี้

คร้ังท​ ่ี 1 สมาชิก​ตัวแ​ รก

ครั้ง​ท่ี 2 สมาชิกต​ ัวท​ ี่ k

ครั้ง​ท่ี 3 สมาชิกต​ ัวท​ ี่ 2k

…                                                      k  k
                 k

                                            ภาพ​ที่ 15.8 ชว่ งก​ ระโดดข​ อง​การเ​ปรยี บ​เทียบ

ซึ่ง​หลัง​จาก​การ​ที่​กระโดด​จน​ได้​ช่วง​ที่​ต้องการ​แล้ว​การ​ตรวจ​สอบ​หา​ค่าท่ี​ต้องการ​ใน​ข้ัน​ตอน​ต่อ​ไป​จะ​เป็น

การค​ ้นหาแ​ บบล​ �ำดับ
การ​เลอื กค​ า่ ท​่จี ะ​กระโดด​หรอื ​ข้าม
กำหนด​ให้ k เป็น​ค่าท่ี​จะ​กระโดด​หรือ​ข้าม ถ้า​ให้ k มี​ค่า​เป็น 1 วิธี​การ​นี้​จะ​เหมือน​กับ​การ​ค้นหา​แบบ​ล�ำดับ

ปัญหา​คือ​จะ​ก�ำหนด​ค่า k เป็น​เท่าใด​ถึง​จะเ​หมาะ​สม
สุดท้ายค​ ส่า​ข�ำอหงร​สับม​คา่าชkิกม​ใาดกๆกวน่า้ันค​ ่า​ใทน่ี​ต​ก้อรณงกี​ทารี่​แห​ยา่​ทจี่สะุด​มวี​กิธาี​กรเ​าปรร​นียี้​จบะเ​​กทรียะบโดอ​ ดีก​ท​ไม้ัง่เ​หกมินดk-nk1
                                                                                                                                                                     คร้ัง  และ​ถ้า​การ​ตรวจ​สอบ​ค่า​คร้ัง​
                                                                                                                                                                     ครั้ง
   40   41   42   43   44   45   46   47   48   49   50