Với giải Câu 20.9 trang 68 SBT Tin học 11 Kết nối tri thức chi tiết trong Bài 20: Thực hành bài toán tìm kiếm giúp học sinh dễ dàng xem và so sánh lời giải, từ đó biết cách làm bài tập Tin học 11. Mời các bạn đón xem:
Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần
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.
Xem thêm các bài giải sách bài tập Tin học 11 Kết nối tri thức hay, chi tiết khác:
Câu 20.1 trang 67 SBT Tin học 11: Trong các câu lệnh sau, câu lệnh nào được dùng để mở và ghi dữ liệu vào tệp "data.inp"? A. F = openRead("data.inp").
Câu 20.2 trang 67 SBT Tin học 11: Các dữ liệu trong tệp sẽ bị ghi đè trong trường hợp nào sau đây? A. Tệp được mở với tham số “w”.
Câu 20.3 trang 67 SBT Tin học 11: Kiểu dữ liệu nào sau đây có thể áp dụng thuật toán tìm kiếm nhị phân? A. Dữ liệu đã được sắp xếp.
Câu 20.4 trang 67 SBT Tin học 11: Mô tả nào sau đây là đúng nhất cho thuật toán tìm kiếm tuần tự? A. Sắp xếp các phần tử trong mảng theo thứ tự, sau đó lần lượt kiểm tra từng phần tử.
Câu 20.5 trang 67 SBT Tin học 11: Giả sử cần sử dụng thuật toán tìm kiếm tuần tự để tìm ra số "10" trong dãy số sau: A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
Câu 20.6 trang 68 SBT Tin học 11: Giả sử cần sử dụng thuật toán tìm kiếm nhị phân để tìm ra số “10” trong dãy số sau: A= [1, 3, 10, 12, 14, 15, 16].
Câu 20.7 trang 68 SBT Tin học 11: Trong các đặc điểm sau đây, đâu là ưu điểm của thuật toán tìm kiếm tuần tự? A. Không cần sắp xếp trước dữ liệu đầu vào.
Câu 20.8 trang 68 SBT Tin học 11: Viết chương trình tìm số lớn nhất trong dãy số sau: A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
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].
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
- Người đại diện: Nguyễn Thanh Tuyền
- Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
2021 © All Rights Reserved.