Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần, trong đó một số phần tử có thể

Trả lời Câu 20.9 trang 68 SBT Tin học 11 sách Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 11.

1 248 18/12/2023


Giải SBT Tin học 11 Bài 20: Thực hành bài toán tìm kiếm

Câu 20.9 trang 68 SBT Tin học 11: Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần, trong đó một số phần tử có thể xuất hiện nhiều lần như sau:

A= [1, 1, 3, 3, 3, 10, 10, 12, 14, 14, 14, 15, 16].

Hãy chỉnh sửa thuật toán tìm kiếm nhị phân để tìm kiếm một số và đưa ra vị trí mà số đó xuất hiện lần đầu tiên.

Ví dụ: Nếu số cần tìm là số 3 thì kết luận số 3 có trong dãy, vị trí xuất hiện lần đầu tiên có chỉ số là 2 (phần tử đầu tiên trong dãy có chỉ số là 0). Nếu số cần tìm là số 5 thì kết luận không tồn tại số 5 trong dãy.

Lời giải:

Để giải bài toán này, trước hết chúng ta sử dụng thuật toán tìm kiếm nhị phân để tìm ra vị trí mà phần tử cần tìm xuất hiện trong dãy (vị trí này có thể là vị trí đầu tiên, thứ hai hoặc vị trí cuối cùng mà phần tử cần tìm xuất hiện). Sau đó, chúng ta so sánh phần tử vừa tìm được với các phần tử ngay trước nó để tìm ra vị trí đầu tiên phần tử cần tìm xuất hiện.

Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần

Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần

1 248 18/12/2023


Xem thêm các chương trình khác: