Cho dãy số {5, 11, 18, 39, 41, 52, 63, 70}. Hãy trình bày diễn biến từng bước của thuật toán

Câu F22 trang 39 SBT Tin học 7: Cho dãy số {5, 11, 18, 39, 41, 52, 63, 70}. Hãy trình bày diễn biến từng bước của thuật toán tìm kiếm nhị phân để tìm kiếm x trong dãy.

1) x = 39

2) x = 60

Lời giải:

1) Số phải tìm là x = 39:

Cho dãy số {5, 11, 18, 39, 41, 52, 63, 70}. Hãy trình bày diễn biến từng bước của thuật toán

Chia đôi lần 1: Phạm vi tìm kiếm là dãy a1 đến a8. Lấy a4 là số có vị trí giữa dãy. Vì x = a4 nên đã tìm thấy x = 39 tại vị trí thứ tư.

2) Số phải tìm là x = 60:

Cho dãy số {5, 11, 18, 39, 41, 52, 63, 70}. Hãy trình bày diễn biến từng bước của thuật toán

Chia đôi lần 1: Phạm vi tìm kiếm là dãy a1 đến a8. Lấy a4 là số có vị trí giữa dãy.

Vì x > a4 nên có nửa đầu dãy (có nền màu xám nhạt) chắc chắn không chứa x = 60, tiếp theo chỉ cần tìm trong nửa sau của dãy. Như vậy, phạm vi cần tìm tiếp theo là dãy con từ a5 đến a8.

Chia đôi lần 2: lấy a6 là số có vị trí giữa dãy còn lại.

Vì x > a6 nên nửa đầu dãy (có nền màu xám nhạt) chắc chắn không chứa x = 60, tiếp theo chỉ cần tìm trong nửa sau của dãy. Như vậy, phạm vi tìm kiếm tiếp theo là dãy con từ a7 đến a8.

Chia đôi lần 3: lấy a7 là số có vị trí giữa dãy còn lại.

Vì x < a7 nên nửa sau dãy (có nền màu xám nhạt) chắc chắn không chứa x = 60, tiếp theo chỉ cần tìm trong nửa dãy. Như vậy, phạm vi tìm kiếm tiếp theo là dãy con một phần tử là a7.

Chỉ còn một phần tử, không chia đôi nữa, so sánh thấy x khác a7. Kết luận: Không tìm thấy.

Lời giải Sách bài tập Tin học 7 Bài 5: Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp Cánh diều hay khác:

Xem thêm các bài giải sách bài tập Tin học lớp 7 Cánh diều hay, chi tiết khác:


Giải bài tập lớp 7 Cánh diều khác