Ở giai đoạn đầu tiên tìm kiếm được giới hạn trong một danh sách với 2k-1 về. Cho đến nay, hai so sánh
đã được sử dụng. Thủ tục này được tiếp tục, sử dụng hai so sánh ở từng giai đoạn để hạn chế
việc tìm kiếm một danh sách với một nửa là nhiều điều khoản. Nói cách khác, hai so sánh được sử dụng ở các
giai đoạn đầu tiên của thuật toán khi danh sách có 2k yếu tố, hai hơn khi tìm kiếm đã được
giảm xuống một danh sách với 2k-1 yếu tố, hai hơn khi tìm kiếm đã được giảm xuống một danh sách với
2k-2 yếu tố, và như vậy, cho đến khi hai so sánh được sử dụng khi tìm kiếm đã được giảm xuống một
danh sách với 21 = 2 yếu tố. Cuối cùng, khi một nhiệm kỳ còn lại trong danh sách, một so sánh cho chúng ta biết rằng
không có điều khoản bổ sung trái, và hơn một so sánh được sử dụng để xác định thuật ngữ này là x.
Do đó, nhiều nhất là 2k + 2 = 2 log n + 2 so sánh được yêu cầu phải thực hiện tìm kiếm nhị phân
khi danh sách được tìm kiếm có 2k yếu tố. (Nếu n không phải là một sức mạnh của 2, danh sách ban đầu được mở rộng
đến một danh sách với 2k + 1 điều khoản, trong đó k = log n, và việc tìm kiếm đòi hỏi ít nhất 2 log n + 2
so sánh.) Tiếp theo, trong tình huống xấu nhất trường hợp, tìm kiếm nhị phân yêu cầu O (log n) so sánh.
Lưu ý rằng trong trường hợp xấu nhất, 2 log n + 2 so sánh được sử dụng bởi việc tìm kiếm nhị phân. Do đó,
sử dụng tìm kiếm nhị phân (log n) so sánh trong trường hợp xấu nhất, bởi vì 2 log n + 2 = (log n).
Từ phân tích này, sau đó trong trường hợp xấu nhất, các thuật toán tìm kiếm nhị phân là hiệu quả hơn
so với việc tìm kiếm tuyến tính thuật toán, bởi vì chúng tôi biết bằng cách Ví dụ 2 rằng các thuật toán tìm kiếm tuyến tính
có (n) trường hợp xấu nhất thời gian phức tạp.
đang được dịch, vui lòng đợi..