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

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

- 	ท�ำ​ค�ำ​ส่ังใ​นลูป while ถ้า 1 <= 10

- 	เปรียบเ​ทียบค​ ่าส​ มาชิก​ที่ต​ �ำแหน่ง A[1] = 5 กับ A[10] = 53 ซ่ึงไ​ม่เ​ท่าก​ ันข​ ้าม​เง่ือน​ไข if
                                             24  -  5
-  	ก�ำหนดค​ ่า  adjust  	  =	               53  -  5

		                          =	               19
                                             48
		 = 	0.3958

-	 เปรียบ​เทียบ​ค่า adjust กับ 0 ซึ่งไ​ม่​น้อยก​ ว่า และ adjust กับ 1 ซึ่ง​ไม่ม​ ากกว่า ข้าม​เง่ือนไข if
- 	ก�ำหนด​ค่า mid 	 = 	1 + 0.3958 * (10-1)
		 ≅ 	 5

- 	เปรียบ​เทียบเ​ง่ือนไข x = 24 ไม่น​ ้อย​กว่า A[mid] = A[5] = 24 ข้าม​เงื่อนไ​ข if

- 	เปรียบเ​ทียบเ​งื่อนไข x = 24 ไม่ม​ ากกว่า A[mid] = A[5] = 24 ข้าม​เง่ือน​ไข else if

- 	ท้ัง 2 เง่ือนไข​ข้างต​ ้น​ไม่เ​ป็นจ​ ริง​ดัง​น้ัน x = A[5]

- 	ส่งค​ ่า​กลับเ​ป็น 5 สิ้น​สุด​การ​ท�ำงาน

   	 5	 9	 13	 17	 24	 29	 34	 38	 42	 53

   left = 1                                            mid = 5                          right = 10

4. 	วเิ คราะห​์ประสิทธิภาพของขนั้ ตอนวิธกี ารค้นหาขอ้ มลู แบบการประมาณคา่ ในชว่ ง

       การว​ ิเคราะห์ป​ ระสิทธิภาพ​น้ัน​จะพ​ ิจารณาจ​ าก​ลักษณะ​การค​ ้นหาข​ ้อมูล​ท่ี​ได้ 3 แบบ ดังน้ี
       4.1	 กรณีด​ ที​ ีส่ ดุ

            กรณีน​ ี้ข​ ้อมูล​มีก​ ารเ​รียง​ตัวเ​พ่ิมข​ ึ้นเ​ป็นเ​ชิง​เส้น และค​ ่า​ของ​ข้อมูล​มีก​ ารกร​ ะจ​ าย​ตัว​ท่ีด​ ี เ​ช่น
                ข้อมูลท​ ี่ต​ ้องการค​ ้นหา คือ 24
                ข้อมูล 5 9 13 17 24 29 34 38 42 53

            การ​ค้นหาล​ ักษณะ​นี้​จะ​มี​ประสิทธิภาพเ​ชิง​เวลาเ​ท่ากับ O(log (log (n))
       4.2 	กรณีแ​ ย​ท่ ส่ี ดุ

            กรณีน​ ้ี​ข้อมูลม​ ี​การเ​รียงล​ �ำดับ​โดยค​ ่าที่เ​พิ่ม​ข้ึนม​ ี​การกร​ ะ​จาย​ตัวท​ ี่​ไม่​ดี เช่น
                ข้อมูลท​ ี่ต​ ้องการค​ ้นหา คือ 100
                ข้อมูล 5 8 9 13 100 1000

            ประสิทธิภาพ​เชิงเ​วลา = O( n)
       4.3	 กรณ​ีทั่วไป การ​ค้นหา​ข้อมูล​จาก​ข้อมูล​ท่ี​เรียง​ล�ำดับ​แล้ว​ด้วย​วิธีการ​ค้นหา​แบบ​การ​ประมาณ​ค่า​ใน​ช่วง​จะ​
เหมือน​กับ​กรณี​ดี​ที่สุด คือ ข้อมูล​มี​การ​เพิ่ม​ขึ้น​แบบ​เชิง​เส้น​และ​ค่า​ของ​ข้อมูล​มี​การก​ระ​จาย​ตัว​ที่​ดี ซ่ึง​ประสิทธิภาพ
​เชิงเ​วลา​คือ O(log (log (n))
   53   54   55   56   57   58   59   60   61   62   63