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

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

เรอ่ื ง​ที่ 15.1.3
การค​ น้ หาข​ ้อมลู ​แบบ​เรยี งล​ �ำ ดบั

       การค​ ้นหา​แบบเ​รียง​ล�ำดับ (sequential search) หรือก​ าร​ค้นหาแ​ บบเ​ชิงเ​ส้น (linear search) มีข​ ั้นต​ อน​วิธี​ท่ี​
เข้าใจ​ง่าย​คล้าย​กับ​การ​ค้นหา​ข้อมูล​แบบ Brute force ต่าง​กัน​ตรง​ที่​ข้อมูล ซึ่ง​การ​ค้นหา​แบบ​เรียง​ล�ำดับ​จัดการ​กับ​ข้อมูล​
ท่ีเ​รียงล​ �ำดับไ​ว้แ​ ล้ว โดยล​ �ำดับข​ ้อมูลท​ ่ี​น�ำ​มาใ​ช้​ใน​หน่วยน​ ี้เ​ป็นการเ​รียงจ​ ากน​ ้อย​ไป​มาก เช่น  

5 9 11 12 23 43 54 61 64 69 76

       โดย​ข้ัน​ตอน​วิธีจ​ ะ​เร่ิมท​ ่ีข​ ้อมูลแ​ รกข​ องร​ ายการ แล้วเ​ปรียบ​เทียบค​ ่าท​ ีล​ ะ​ตัวต​ ามล​ �ำดับ จนพ​ บค​ ่าท่ี​ต้องการ เช่น 
ต้องการ​หา​ค่า 23 จะ​ต้อง​เปรียบ​เทียบ​ค่าจ​ ากก​ าร​เร่ิม​ต้นท​ ่ี 5, 9, 11, 12 และ 23 ซึ่ง​จะเ​หมือน​กับ​ข้ันต​ อนว​ ิธี​แบบ Brute
force อย่างไร​ก็ตาม​ถ้า​ต้องการ​หา​ค่า 10 จะ​เปรียบ​เทียบ​กับค่า​แรก คือ 5 จนถึง​ค่าที่ 3 คือ 11 เท่านั้น​ก็​จะ​ทราบว่า​
ไม่พ​ บ​ค่าที่ต​ ้องการ ซึ่งต​ ่าง​กับ​ขั้น​ตอน​วิธี​แบบ Brute force ท่ี​ต้องหาจ​ นถึงส​ มาชิก​ตัวส​ ุดท้ายถ​ ึง​จะ​ทราบ

1. 	โครงสรา้ งข​ ้อมลู ของการค้นหาข้อมูลแบบเรียงล�ำ ดบั

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

2. 	ข้ัน​ตอน​วิธีการคน้ หาข้อมูลแบบเรยี งลำ�ดับ
ข้ันต​ อน​วิธี LinearSearch มี​ราย​ละเอียด​ดังนี้

ข้อมูลเ​ข้า​ประกอบ​ด้วย

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

ค่าที่​ต้องการ​ค้นหา	                            x

ข้อมูลท​ ี่ส​ ่งก​ ลับ

ถ้าพ​ บข​ ้อมูล​ที่​สืบค้น 	 ค่าที่​ส่ง​กลับ​จะเ​ป็น​ต�ำแหน่ง​ของ​ข้อมูล​ในอ​ าร์เรย์
ถ้าไ​ม่พ​ บข​ ้อมูลท​ ี่ส​ ืบค้น	 ค่าที่​ส่งก​ ลับ​จะ​เป็น​ต�ำแหน่งท​ ่ีไ​ม่มี​จริง​ใน​อาร์เรย์​น่ันคือ -1
   24   25   26   27   28   29   30   31   32   33   34