Độ phức tạp của binary search - QuânSysAd's Blog

01 tháng 4 2021

Độ phức tạp của binary search

Giả sử cần tìm trong array n phần tử.

Giả sử Binary Search sẽ kết thúc sau k vòng lặp.

Sau mỗi lần lặp, số lượng phần tử của array sẽ giảm đi 1/2


Ở lần lặp 1: Độ dài array là n

Ở lần lặp 2: Độ dài array là n/2

Ở lần lặp 3: Độ dài array là n/2 * 1/2 = n/4

Ở lần lặp k: Độ dài array là n/2^k

Sau k phép chia thì độ dài array sẽ về 1.


DO đó độ dài array = n/2^k = 1

=> n=2^k


Lúc này thực hiện Log cả 2 vế 

Log2(n) = log2(2^k)

=> Log2(n) = klog2(2)=k


Như vậy k=log2(n)


Như vậy độ phức tạp thời gian của Binary Search là : log2(n).

Không có nhận xét nào: