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

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

3.	 ตวั อย่างก​ าร​ทำ�งานข​ องข​ ้นั ​ตอนว​ ธิ กี​ ารค้นหาขอ้ มูลแบบทวภิ าค

ตัวอยา่ งท​ ี่ 15.7 การค​ ้นหา​ข้อมูลต​ ัวเลข 24 จาก​ข้อมูล​ที่เ​รียงล​ �ำดับ​แล้ว​จาก​น้อยไ​ป​หาม​ าก ​จ�ำนวน 8 ตัว ประกอบด​ ้วย
5 24 33 43 68 73 90 91 ด้วยว​ ิธีก​ ารค​ ้นหาแ​ บบท​ วิภาค

       ก�ำหนดให้
       A 	=	 [5, 24, 33, 43, 68, 73, 90, 91]
       n 	=	 8
       x 	 = 	 34
รอบท​ ี่ 1

             	 5	 24	 33	 43	 68	 73	 90	 91

left = 1                       pos = (1 + 8)/2 = 4                           right = 8
                               A[pos] = 43

                                          X = 34

       - 	ก�ำหนดค​ ่า​ขอบ​ซ้ายแ​ ละ​ขวาใ​ห้​เป็น left = 1 และ right = 8
       - 	หา​ต�ำแหน่งก​ ึ่งกลางร​ ะ​หว่าง​ ซ้ายแ​ ละ​ขวา

                pos 	 = 	(left + right)/2
                	 =	 (1+ 8)/2
                	 ≅	4 ([1 + 8]/2 = 4.5 ปัดเศษท​ ิ้ง​เหลือ 4)
       - 	เปรียบเ​ทียบค​ ่า x = 34 กับค​ ่า A[4] = 43 ซึ่ง​ค่า x น้อย​กว่า
       - 	ให้​สืบค้นจ​ าก​ส่วนท​ างซ​ ้าย โดยป​ รับ​ขอบข​ วา
                right	= 	pos -1
                	 = 	4 – 1
                	 = 	3
รอบ​ท่ี 2

	 5	 24	 33	 43	 68	 73	 90	 91

left = 1          right = 3

          pos = (1 + 3)/2 = 2
          A[pos] = 24

          X = 34
   30   31   32   33   34   35   36   37   38   39   40