fbpx
วิกิพีเดีย

การค้นหาแบบกระโดด

การค้นแบบกระโดด (อังกฤษ: jump search) หรือในบางครั้งเรียกว่า การค้นแบบบล็อก (อังกฤษ: block search) เป็นขั้นตอนวิธี สำหรับการค้นหาค่าที่สนใจภายในแถวลำดับที่มีการเรียงลำดับแล้ว โดยจะทำการตรวจสอบข้อมูลในแถวลำดับทุก ๆ j ตัว โดยจะทำการตรวจสอบไปเรื่อย ๆ จนกว่าจะพบข้อมูลที่สนใจ ซึ่งวิธีนี้จะคล้ายกับการค้นแบบเชิงเส้น (Linear Search)

การค้นหาแบบนี้จะได้ผลดีที่สุดเมื่อ j มีค่าเท่ากับ รากที่สองของ n เมื่อ n เป็นความยาวของแถวลำดับ

รหัสเทียม

ข้อมูลขาเข้า : แถวลำดับที่เรียงลำดับข้อมูลแล้ว มีความยาวเท่ากับ n และให้ s คือค่าที่เราสนใจ
ข้อมูลขาออก : จะส่งตำแหน่งของข้อมูลที่สนใจออกมา และถ้าหากไม่พบข้อมูลที่สนใจ จะไม่ส่งค่าอะไรกลับมา
ให้ a มีค่าเท่ากับ 0
ให้ b มีค่าเท่ากับ n
ทำงานไปเรื่อย ๆ เมื่อ ( (ค่าที่น้อยกว่าระหว่าง b กับ n ) -1 < s) เป็นจริง{
a = b
b = b + √n
ถ้า a มากกว่าหรือเท่ากับ n ให้ออกจากวงวน และไม่คืนค่าอะไรออกมา
}
ทำงานไปเรื่อย ๆ เมื่อ ( ถ้า a น้อยกว่า s) เป็นจริง{
a = a + 1
ถ้า a เท่ากับ ค่าที่น้อยกว่าระหว่าง b กับ n ให้ออกจากวงวนและไม่คืนค่าอะไรออกมา
}
ถ้า a = s ก็ให้ทำการคืนตำแหน่ง a ออกไป
ถ้าไม่เช่นนั้นให้ ไม่ต้องคืนค่าอะไรออกมา


ประสิทธิภาพการทำงาน

การค้นหาแบบกระโดด (Jump Search) หากใช้ค่าที่ดีที่สุดในการกระโดดค้นหา คือ √n เมื่อ n เป็นความยาวของแถวลำดับ แล้ว จะมีประสิทธิภาพเท่ากับ O(√n) ซึ่งดีกว่าการค้นแบบเชิงเส้น (Linear Search) ที่มีประสิทธิภาพเท่ากับ   แต่ก็มีประสิทธิภาพน้อยกว่า การค้นแบบทวิภาค (Binary Search) ที่มีประสิทธิภาพเท่ากับ  

เราสามารถเพิ่มประสิทธิภาพการทำงานได้โดยการทำการค้นแบบกระโดดหลายระดับในแถวลำดับย่อย โดยสำหรับ k ระดับของการค้นแบบกระโดด ที่มีบล็อกขนาด m ที่ l ระดับ จะมีประสิทธิภาพการทำงานเท่ากับ O (n^(k-l))

อ้างอิง

  • Jump Search
  • Algorithm and Data Structures : Jump Search[ลิงก์เสีย]
  • Jump Search(Divide and Conquer) : วิเคราะห์เวลาการทำงาน
  • Source Code : ตัวอย่างโปรแกรม[ลิงก์เสีย]

ดูเพิ่ม

  • การค้นแบบทวิภาค (Binary search)
  • การค้นแบบเชิงเส้น (Linear search)

การค, นหาแบบกระโดด, การค, นแบบกระโดด, งกฤษ, jump, search, หร, อในบางคร, งเร, ยกว, การค, นแบบบล, อก, งกฤษ, block, search, เป, นข, นตอนว, สำหร, บการค, นหาค, าท, สนใจภายในแถวลำด, บท, การเร, ยงลำด, บแล, โดยจะทำการตรวจสอบข, อม, ลในแถวลำด, บท, โดยจะทำการตรวจสอบไปเร,. karkhnaebbkraodd xngkvs jump search hruxinbangkhrngeriykwa karkhnaebbblxk xngkvs block search epnkhntxnwithi sahrbkarkhnhakhathisnicphayinaethwladbthimikareriyngladbaelw odycathakartrwcsxbkhxmulinaethwladbthuk j tw odycathakartrwcsxbiperuxy cnkwacaphbkhxmulthisnic sungwithinicakhlaykbkarkhnaebbechingesn Linear Search karkhnhaaebbnicaidphldithisudemux j mikhaethakb rakthisxngkhxng n emux n epnkhwamyawkhxngaethwladb enuxha 1 rhsethiym 2 prasiththiphaphkarthangan 3 xangxing 4 duephimrhsethiym aekikhkhxmulkhaekha aethwladbthieriyngladbkhxmulaelw mikhwamyawethakb n aelaih s khuxkhathierasnic khxmulkhaxxk casngtaaehnngkhxngkhxmulthisnicxxkma aelathahakimphbkhxmulthisnic caimsngkhaxairklbma ih a mikhaethakb 0 ih b mikhaethakb n thanganiperuxy emux khathinxykwarahwang b kb n 1 lt s epncring a b b b n dd tha a makkwahruxethakb n ihxxkcakwngwn aelaimkhunkhaxairxxkma thanganiperuxy emux tha a nxykwa s epncring a a 1 dd tha a ethakb khathinxykwarahwang b kb n ihxxkcakwngwnaelaimkhunkhaxairxxkma tha a s kihthakarkhuntaaehnng a xxkip thaimechnnnih imtxngkhunkhaxairxxkmaprasiththiphaphkarthangan aekikhkarkhnhaaebbkraodd Jump Search hakichkhathidithisudinkarkraoddkhnha khux n emux n epnkhwamyawkhxngaethwladb aelw camiprasiththiphaphethakb O n sungdikwakarkhnaebbechingesn Linear Search thimiprasiththiphaphethakb O n displaystyle O left n right aetkmiprasiththiphaphnxykwa karkhnaebbthwiphakh Binary Search thimiprasiththiphaphethakb O log n displaystyle O left log n right erasamarthephimprasiththiphaphkarthanganidodykarthakarkhnaebbkraoddhlayradbinaethwladbyxy odysahrb k radbkhxngkarkhnaebbkraodd thimiblxkkhnad m thi l radb camiprasiththiphaphkarthanganethakb O n k l xangxing aekikhJump Search Algorithm and Data Structures Jump Search lingkesiy Jump Search Divide and Conquer wiekhraahewlakarthangan Source Code twxyangopraekrm lingkesiy duephim aekikhkarkhnaebbthwiphakh Binary search karkhnaebbechingesn Linear search ekhathungcak https th wikipedia org w index php title karkhnhaaebbkraodd amp oldid 9614380, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม