การทำ Searching Algorithms เพื่อใช้ในการค้นหาข้อมูล

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การทำ Searching Algorithms เพื่อใช้ในการค้นหาข้อมูล

Re: การทำ Searching Algorithms เพื่อใช้ในการค้นหาข้อมูล

โดย anpingbu » 01/11/2018 4:42 pm

ขอบคุณสำหรับข้อมูลดีๆครับ

การทำ Searching Algorithms เพื่อใช้ในการค้นหาข้อมูล

โดย rangsan » 07/05/2018 5:57 pm

Searching Algorithms

คือ การค้นหาข้อมูลที่มีรูปแบบการค้นหาที่แตกต่างกันออกไปตามรูปแบบที่เราต้องการโดยเราจะแยกระเภทของข้อมูลออกเป็น 2 แบบ คือ

1. ข้อมูลที่ ไม่มีการเรียงลำดับ คือ ข้อมูลที่ยังไม่ได้ทำการ Sort เลยเราจะใช้ตัว
- Sequential Search ในการทำการค้นหาข้อมูลที่เราต้องการ

2. ข้อมูลที่ได้ทำการเรียงลำดับไว้เรียบร้อยแล้ว คือ ข้อมูลที่มีการ Sort ไว้แล้วดังนั้นเราจะมี Algorithms ดังนี้
- Binary Search

Sequential Search นั้นเป็น Algorithms ที่เหมาะสำหรับข้อมูลที่ไม่มีการเรียงลำดับและใช้กับโครงสร้างข้อมูลที่มีปริมาณข้อมูลน้อยส่วนมากมักใช้กับโครงสร้างข้อมูล array และ linked list

ภาพตัวอย่างของการทำ Sequential Search กรณีที่ค้นหาข้อมูลเจอ
จากภาพต้องการหาค่า 54 จะเห็นได้ว่าจุดเริ่มต้นของการค้นหาจะเริ่มที่ข้อมูลตัวแรกแล้วเมื่อไม่พบข้อมูลก็จะเพิ่มค่า i ขึ้นไปเรื่อย ๆ จนเจอข้อมูลที่ต้องการ
Ex1_Seq_search.png
Ex1_Seq_search.png (72.06 KiB) Viewed 3401 times
ภาพตัวอย่างของการทำ Sequential Search กรณีที่ค้นหาข้อมูลไม่เจอ
จากภาพต้องการหา 94 ระบบจะทำการวนหาข้อมูลที่มีในชุดข้อมูลนั้นและเพิ่มค่า i ไปเรื่อย ๆ จนครบถ้าไม่เจอ ก็จะเป็น "Not Found"
Ex2_seq_search.png
Ex2_seq_search.png (72.09 KiB) Viewed 3401 times
Binary Search นั้นเป็น Algorithms ที่เหมาะกับข้อมูลที่มีการเรียงลำดับไว้แล้วแต่ปัญหากรณีที่ข้อมูลจำนวนมากจะต้องเสียเวลาในการเรียง

ขั้นตอนในการค้นหาข้อมูลของ Binary Search
- กำหนด หรือรับข้อมูลที่ต้องการค้นหา
- แบ่งครึ่งแฟ้มข้อมูลหรือแถวลำดับข้อมูล
- ทำการเปรียบเทียบข้อมูลในแฟ้มข้อมูลหรือแถวลำดับ ข้อมูล โดยแบ่งครึ่งลงไปเรื่อยๆ จนกว่าจะพบหรือไม่สามารถแบ่งได้อีกต่อไป นั้นหมายความว่าไม่พบข้อมูลนั้นแน่นอน

ภาพตัวอย่างการทำ Binary Search
EX1_Binary_search.png
EX1_Binary_search.png (119.32 KiB) Viewed 3401 times
ต่อจากภาพแรก
EX1.1_Binary_search.png
EX1.1_Binary_search.png (124.78 KiB) Viewed 3401 times
อ้างอิง : mwit.ac.th

ข้างบน