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

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

กิจกรรม 2.2.2
          1. 	จง​พิจารณา​ขนั้ ​ตอนว​ ิธก​ี าร​สบื ค้น 2 ขัน้ ต​ อน​วธิ ี​ตอ่ ​ไปน​ ี้ ส�ำ หรบั ​ข้อมลู ​ทีเ​่ รยี ง​ลำ�ดบั ม​ าแ​ ลว้ ​ว่า ขน้ั ต​ อน​
วธิ ไ​ี หน​มี​ประสทิ ธิภาพม​ ากกวา่ ก​ นั แ​ ละ​จง​ประม​ าณบ​ ิก๊ ​โอ​ของ​แต่ละ​วิธี
          	

   Procedure SequentialSearch(A1, A2, …, An, X)                        Procedure BinarySearch(A1, A2, …, An, X)

   BEGIN                                                               BEGIN
   	 i := 1                                                            	 i:=1
   	 WHILE     i  ≤  n  AND  X  ≠  Ai  DO                              	 j:=n
   		 i :=     i  +  1                                                 	 WHILE i < j DO
   		 IF i ≤ n THEN                                                    	BEGIN
   			 location := i                                                   		 m := [(i + j) / 2]
   		 ELSE                                                             		 IF x >      Ami :T=HmE+N1
   			 location := 0                                                   				
   	 END                                                               		 ELSE
   	 RETURN location                                                   				 j := m
   END                                                                 	 END
                                                                       	 IF   x  =locAaitiToHn E:=Ni
                                                                       		
                                                                       	 ELSE
                                                                       		 location := 0
                                                                       	 RETURN location
                                                                       END
                                                                                                                                           	
	
          2.	 ขน้ั ​ตอน​วธิ ​ีหนง่ึ ใ​ช้​เวลา 12 วนิ าที​ใน​การ​ประมวลผ​ ล​ข้อมลู ท​ ้งั หมด 100 ขอ้ มลู จงห​ าว​ ่าข​ ั้นต​ อน​วธิ ีน​ ​้ี
จะใ​ช​เ้ วลา​กีว​่ นิ าที​ในก​ ารป​ ระมวลผ​ ล​ขอ้ มูล​ขนาด 5,000 ขอ้ มลู ถา้ ฟ​ งั กช์ ัน​เวลา T(n) ทขี่​ นึ้ อ​ ย่​กู ับ​ขนาด​ของ​ข้อมูล
n ของ​ขน้ั ต​ อน​วิธี​น้ี​มอี​ ตั ราก​ ารเ​ติบโต​ดงั ต​ ่อ​ไป​น้ี
               2.1	 มีอ​ ัตรา​การ​เตบิ โต​เป็นฟ​ ังกช์ นั ​ค่าค​ งตวั
               2.2 	มอ​ี ัตรา​การเ​ติบโต​เป็น​ฟังกช์ นั เ​ชิง​เสน้
               2.3	 มี​อัตราก​ าร​เตบิ โตเ​ป็น O(log n)
               2.4	 ม​อี ตั รา​การเ​ตบิ โตเ​ป็น O(n3)

แนว​ตอบ​กจิ กรรม 2.2.2
       1. 	SequentialSearch() ใชเ้​วลา​เป็น O(n) ในข​ ณะ​ท่ี BinarySearch() ใช้เ​วลา​เป็น O(log n) ดังน​ ั้น การ​

ทำ�งาน​แบบ BinarySearch() มป​ี ระสทิ ธิภาพ​และ​รวดเรว็ ก​ ว่า​สำ�หรับ​ขอ้ มูลข​ นาดเ​ดียวกัน
       2. 	ข้นั ​ตอนว​ ธิ หี​ นึง่ ใ​ชเ้​วลา 12 วนิ าทใ​ี นก​ ารป​ ระมวลผ​ ลข​ อ้ มูลท​ ั้งหมด 100 ข้อมูล
            2.1 	ถา้ ​ฟงั กช์ นั ​เวลา T(n) ของข​ น้ั ​ตอน​วธิ ​นี ้ี มอ​ี ตั ราก​ ารเ​ตบิ โต​เปน็ ฟ​ งั กช์ นั ค​ า่ ​คงตวั แสดงว​ า่ ฟงั ​กช​์ นั

เวลา T(n) ไม่​ข้ึน​อยู่​กับ​ขนาด​ของ​ข้อมูล ไม่​ว่า​จะ​ประมวล​ผล​ข้อมูล​ขนาด​เท่าใด จะ​ใช้​เวลา​เท่า​กัน เพราะ​ฉะนั้น
ขน้ั ต​ อน​วธิ ​นี ​จ้ี ะ​ใช​้เวลา 12 วนิ าที ในก​ าร​ประมวลผ​ ล​ขอ้ มูล​ทั้งหมด 5,000 ข้อมูล

            2.2 	ถา้ ฟ​ งั กช์ นั เ​วลา T(n) ของข​ นั้ ต​ อนว​ ธิ น​ี ี้ มอ​ี ตั ราก​ ารเ​ตบิ โตเ​ปน็ ฟ​ งั กช์ นั เ​ชงิ เ​สน้ แสดงว​ า่ ขน้ั ต​ อน​
วิธนี​ ้ี ประมวล​ผล​ข้อมลู 100 ขอ้ มูล ใช​เ้ วลา 12 วินาที
   51   52   53   54   55   56   57   58   59   60