Lời giải Câu hỏi 2 Bài 7. Lập trình giải bài toán tìm kiếm (trang 117, 118, 119) – SGK Tin học 11 Cánh diều. Tham khảo: Dựa vào kiến thức đã học.
Câu hỏi/Đề bài:
Theo em, với dãy đã sắp thứ tự và cho một số x cụ thể
a) Trường hợp nào tìm kiếm tuần tự nhanh hơn tìm kiếm nhị phân?
b) Về trung bình thuật toán tìm kiếm tuần tự hay thuật toán tìm kiếm nhị phân tốt hơn?
Hướng dẫn:
Dựa vào kiến thức đã học.
Lời giải:
a) Ví dụ một bài toán tìm kiếm trong thực tế: Giáo viên muốn tìm tên bạn Chung trong danh sách lớp:
Các bước thực hiện thuật toán tìm kiếm nhị phân cho bài toán trên:
– Bước 1: Xét vị trí ở giữa dãy, đó là vị trí số 5.
– Vì sau bước 2 đã tìm thấy tên học sinh nên thuật toán kết thúc.
b) Thuật toán tìm kiếm nhị phân
– Thuật toán tìm kiếm nhị phân thu hẹp được phạm vi tìm kiếm chỉ còn tối đa là một nửa sau mỗi lần lặp. Thuật toán chia bài toán thành những bài toán nhỏ hơn giúp tăng hiệu quả tìm kiếm.
Thuật toán tuần tự
– Mô tả thuật toán phải cụ thể, rõ ràng, đầy đủ, đầu vào là gì, đầu ra là gì và chỉ rõ sự kết thúc thuật toán.
– Cần mô tả thuật toán cho tốt thì người máy hay máy tính mới hiểu đúng và thực hiện được.
– Nếu không, kết quả thực hiện thuật toán có thể không như mong đợi.