Dthww Ghann
Hỏi từ APP VIETJACK
Em hãy sử dụng thuật toán tìm kiếm nhị phân để tìm kiếm số 15 trong dãy số sau [2,3, 5,7,9,11, 15].
Quảng cáo
2 câu trả lời 283
+ Khởi tạo biến "trái" và "phải" lần lượt là 0 và độ dài của dãy số trừ 1.
+ Lặp cho đến khi "trái" vượt qua "phải":
=> a. Tính chỉ số giữa bằng cách lấy tổng của "trái" và "phải", sau đó chia 2.
=> b. Nếu phần tử tại chỉ số giữa bằng với số cần tìm kiếm (15 trong trường hợp này), trả về chỉ số giữa.
=> c. Nếu phần tử tại chỉ số giữa lớn hơn số cần tìm kiếm, cập nhật "phải" thành chỉ số giữa trừ 1.
=> d. Nếu phần tử tại chỉ số giữa nhỏ hơn số cần tìm kiếm, cập nhật "trái" thành chỉ số giữa cộng 1.
+ Nếu không tìm thấy số cần tìm kiếm, trả về -1.
+ Lặp cho đến khi "trái" vượt qua "phải":
=> a. Tính chỉ số giữa bằng cách lấy tổng của "trái" và "phải", sau đó chia 2.
=> b. Nếu phần tử tại chỉ số giữa bằng với số cần tìm kiếm (15 trong trường hợp này), trả về chỉ số giữa.
=> c. Nếu phần tử tại chỉ số giữa lớn hơn số cần tìm kiếm, cập nhật "phải" thành chỉ số giữa trừ 1.
=> d. Nếu phần tử tại chỉ số giữa nhỏ hơn số cần tìm kiếm, cập nhật "trái" thành chỉ số giữa cộng 1.
+ Nếu không tìm thấy số cần tìm kiếm, trả về -1.
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
61571 -
Đã trả lời bởi chuyên gia
33005 -
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
25239 -
Đã trả lời bởi chuyên gia
23799
Gửi báo cáo thành công!

