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

15-22 โครงสร้าง​ข้อมูล​และข​ ั้น​ตอน​วิธี

4.3 	กรณที​ ว่ั ไป
กรณีน​ ี้​ข้อมูลท​ ี่ต​ ้องการค​ ้นหาม​ ี​ค่า​อยู่​ระหว่างต​ �ำแหน่ง​แรกแ​ ละต​ �ำแหน่งส​ ุดท้าย​ในอ​ าร์เรย์​เช่น

ข้อมูล​ที่​ต้องการ​ค้นหา คือ 16

ข้อมูล 1 7 15 16 23 32                                       n  +  1
                                                                2
การค​ ้นหาล​ ักษณะน​ ี้​จะใ​ช้ก​ ารเ​ปรียบเ​ทียบโ​ดยเ​ฉลี่ย           ดังน​ ้ัน   ป​ ระสิทธิภาพเ​ชิงเ​วลาเ​ท่ากับ O(n)

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

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

	 5	 24	 33	 43	 68	 73	 90	 91

ค่าน​ ้อย​ที่สุด i = 1 โดยท่ี A[1] = 5
 	 5	 24	 33	 43	 68	 73	 90	 91

ค่าม​ าก​ที่สุด i = 8 โดยที่ A[8] = 91
การค​ ้นหาเ​ชิงเ​ส้น​นั้น​ยัง​สามารถ​น�ำ​ไป​หาข​ ้อมูล​ล�ำดับ​ท่ีต​ ้องการ ​เช่น

 	 5	 24	 33	 43	 68	 73	 90	 91

    ต้องการห​ าค​ ่าม​ ากท​ ่ีสุด​ล�ำดับ​ที่ 5 ซ่ึง​สามารถต​ อบ​ได้​เลย ค​ ือ A[5] ซึ่ง​เท่ากับ 68
กิจกรรม 15.1.3

       1. 	 ถ้าเ​ปลย่ี น x < A[i] เปน็ x > A[i] ในบ​ รรทดั ท​ ี่ 6 ของฟ​ งั กช์ นั LinearSearch ผลจ​ ะ​เปน็ อ​ ยา่ งไร
       2. 	 การ​คน้ หาแ​ บบ​เรียง​ล�ำ ดับ​ม​ีความเ​หมอื นแ​ ละ​แตก​ตา่ ง​กับ​การ​ค้นหา​แบบ​บรทู ฟอ​ ร์ซ​ อ​ยา่ งไ​ร
แนวต​ อบก​ จิ กรรม 15.1.3
       1.	 ถา้ ข​ อ้ มลู ท​ ส​ี่ บื คน้ ไ​มใ่ ชข​่ อ้ มลู ต​ วั แ​ รกข​ องอ​ ารเ์ รย์ ฟงั กช์ นั LinearSearch จะ​ไมม่ โ​ี อกาสพ​ บข​ อ้ มลู เชน่
ขอ้ มลู 2, 3, 5, 9, 15, 21 ขอ้ มลู ​ท​ตี่ อ้ งการ​คน้ หา​คอื x= 15 เมอื่ ​ฟงั กช์ นั ​ท�ำ งาน​ถงึ ​บรรทดั ​ท่ี 6 จะ​เปรยี บ​เทยี บ x =15
กบั A[1] = 2 ตาม​เงื่อนไข x > A[i] ซ่ึง​เป็นจ​ ริง​และจ​ ะส​ ่งค​ า่ ​กลบั เ​ป็น -1 ทันที
       2.	 การ​ค้นหา​แบบ​เรียง​ลำ�ดับ​มี​ความ​เหมือน​กับ​การ​ค้นหา​แบบ​บรูทฟ​อร์ซ​ตรง​ที่​การ​ตรวจ​สอบ​สมาชิก​
จะเ​รม่ิ ต​ งั้ แตต​่ วั แ​ รกถ​ งึ ต​ วั ส​ ดุ ทา้ ย การค​ น้ หาท​ ง้ั ส​ องแ​ บบต​ า่ งก​ นั ต​ รงท​ เ​่ี งอื่ นไขก​ ารส​ นิ้ ส​ ดุ ก​ ารท​ �ำ งาน การค​ น้ หาแ​ บบ
เ​รยี งล​ �ำ ดบั เ​พมิ่ เ​ตมิ เ​งอื่ นไขซ​ งึ่ จ​ ะห​ ยดุ ค​ น้ หาท​ นั ทท​ี ข​่ี อ้ มลู ท​ ต​่ี อ้ งการค​ น้ หานอ้ ยก​ วา่ ข​ อ้ มลู ณ ต�ำ แหนง่ ​ทเ​ี่ ปรยี บเ​ทยี บ
   27   28   29   30   31   32   33   34   35   36   37