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

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

       - 	จาก​ค่าข​ อบ​ซ้าย​และ​ขวา left = 5 และ right = 8 หาต​ �ำแหน่งก​ ่ึงกลาง​ระ​หว่างซ​ ้าย​และ​ขวา
                pos 	 = 	(left + right)/2
                	 = 	(5 + 8)/2
                	 ≅	 6

       - 	เปรียบเ​ทียบค​ ่า x = 69 กับ​ค่า A[6] = 73 ซ่ึงค​ ่า x น้อยก​ ว่า
       - 	ปรับ​ขอบข​ วา​ลง​มา

                right	 = 	pos
                	 = 	6
รอบท​ ่ี 3

         	 5	 24	 33	 43	 68	 73	 90	 91

left = 5   right = 6

          pos = (5 + 6)/2 = 5
          A[pos] = 68

                                                X = 69

       -	 จาก​ค่าข​ อบ​ซ้าย​และข​ วา left = 5 และ right = 6 หา​ต�ำแหน่ง​ก่ึงกลาง​ระห​ ว่า​งซ้ายแ​ ละข​ วา
                pos 	 = 	(left + right)/2
                	 = 	(5 + 6)/2
                	 ≅ 	5

       - 	เปรียบ​เทียบค​ ่า x = 69 กับค​ ่า A[5] = 68 ซึ่ง​ค่า x มากกว่า
       - 	ให้​ปรับข​ อบซ​ ้าย​ขึ้นม​ า

                left 	 = 	pos + 1
                	 = 	5 + 1
                	 = 	6
รอบ​ท่ี 4
       - 	เนื่องจาก​ขอบ​ซ้าย 6 เท่า​กว่า​ขอบข​ วา 6 ดัง​นั้น​โปรแกรม​ออกจ​ ากก​ าร​วนร​ อบ
       - 	เปรียบ​เทียบ​ค่า x = 69 กับ​ค่า A[left] = A[6] =73 ซึ่ง​ค่า x น้อย​กว่า ส่ง​ค่า​กลับ​เป็น​ต�ำแหน่ง​ขอบ​ซ้าย​
นั่น​คือ 6

        	 5	 24	 33	 43	 68	 73	 90	 91

          left = 6
   36   37   38   39   40   41   42   43   44   45   46