Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

tim kiem cay nhi phan thoi gian

Function BInary_search(k,r,a,X);

If k>r then

tg:=0 then //khong tim thay

else 

m:=(k+r)div 2;

If a[m]=X;  //tim thay 

Else

If X<a[m] then 

 binary_search(k,m-1,a,X);

else 

binary_search(m+1,r,a,X);

end;

return tg;

Thời gian thực hiện:

Thuận lợi nhất khi tìm thấy ngay ở giữa: O(1)

Không thuận lợi khi phải gọi đệ qui, gọi thời gian cần thực hiện trong trường hợp này là:

W(r – k + 1)

Với lần gọi ban đầu: k = 1, r = n

Có W(n – 1 + 1) = W(n) = 1 + W(n/2)

= 1 + 1 + W(n/4)… = 1 + 1 + … + W(n/2x)

Dừng khi (n/2x) = 1 vì W(1) = 1

Mà (n/2x) = 1 ó x = log2n

Tức là ta phải gọi đệ qui log2n lần

=> Độ phức tạp là O(log2n)

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: #jkhlkhk