Lý thuyết Tin học 7 Kết nối tri thức Bài 15: Thuật toán tìm kiếm nhị phân


Haylamdo biên soạn và sưu tầm tóm tắt lý thuyết Tin học lớp 7 Bài 15: Thuật toán tìm kiếm nhị phân sách Kết nối tri thức hay nhất, ngắn gọn sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt môn Tin học 7.

Lý thuyết Tin học 7 Kết nối tri thức Bài 15: Thuật toán tìm kiếm nhị phân

1. Thuật toán tìm kiếm nhị phân

- Thực hiện trên danh sách đã được sắp xếp. Bắt đầu từ vị trí ở giữa danh sách.

- Tại mỗi bước, so sánh giá trị cần tìm với giá trị của vị trí giữa danh sách nếu lớn hơn thì tìm trong nửa sau của danh sách, nếu nhỏ hơn thì tìm trong nửa trước của danh sách, nếu bằng thì dừng lại.

- Chừng nào chưa tìm thấy và chưa hết danh sách thì còn tìm tiếp.

Mô tả thuật toán tìm kiếm nhị phân bằng ngôn ngữ tự nhiên:

Bước 1. Nếu vùng tìm kiếm không có phần tử nào thì kết luận không tìm thấy và thuật toán kết thúc.

Bước 2. Xác định vị trí giữa của vùng tìm kiếm. Vị trí này chia vùng tìm kiếm thành hai nửa: nửa trước và nửa sau vị trí giữa.

Lý thuyết Tin học 7 Kết nối tri thức Bài 15: Thuật toán tìm kiếm nhị phân

Bước 3. Nếu giá trị cần tìm bằng giá trị của vị trí giữa thi kết luận “giá trị cần tìm xuất hiện tại vị trí giữa” và kết thúc.

Bước 4. Nếu giá trị cần tìm nhỏ hơn giá trị của vị trí giữa thì vùng tìm kiếm mới được thu hẹp lại, chỉ còn nửa trước của dãy. Ngược lại (nếu giá trị cần tìm lớn hơn giá trị của vị trí giữa) vùng tìm kiếm mới được thu hẹp lại chỉ còn nửa sau của dãy.

Bước 5. Lặp lại từ Bước 1 đến Bước 4 cho đến khi tìm thấy giá trị cần tìm (Bước 3) hoặc vùng tìm kiếm không còn phần tử nào (Bước 1).

Lưu ý: “nửa trước” và “nửa sau” không gồm phần tử giữa.

2. Sắp xếp và tìm kiếm

- Sắp xếp giúp cho việc tìm kiếm được thực hiện nhanh hơn.

Ví dụ: Cho 10 số trên các tấm thẻ là 2, 3, 5, 6, 8, 9, 11, 15, 16, 18. Giả sử A giữ 10 tấm thẻ và B là người tìm kiếm.

Yêu cầu: B sử dụng thuật toán tìm kiếm nhị phân để tìm một số nhỏ hơn 20 trong các tấm thẻ của A.

Cách chơi:

Bước 1. A úp lần lượt 10 chiếc thẻ lên bàn theo thứ tự các số từ bé đến lớn.

Bước 2. B cho A biết con số mình cần tìm.

Bước 3. B chọn tấm thẻ ở vị trí giữa.

Bước 4. A hé mở tấm thẻ và trả lời B bằng cách nói một trong ba cụm từ: “bằng nhau”, “lớn hơn” hoặc “bé hơn” tùy thuộc vào kết quả so sánh số B cần tìm với số ở vị trí giữa của dãy.

Bước 5. Tùy vào câu trả lời của A mà B chọn nửa dãy tiếp theo để tìm kiếm.

Bước 6. Lặp lại các bước 3, 4, 5 cho đến khi B tìm thấy số cần tìm hoặc đã tìm hết dãy số.

Bước 7. Hoán đổi vị trí A và B trong lượt tiếp theo.

Xem thêm tóm tắt lý thuyết Tin học lớp 7 Kết nối tri thức hay khác: