Giải bài tập Tin học 7 Bài 15: Thuật toán tìm kiếm nhị phân
Khởi động trang 74 Bài 15 Tin học lớp 7: Việc kinh doanh mở rộng, số lượng khách
hàng của cửa hàng bán giống cây trồng nhà An lên đến hàng trăm người. Việc tìm kiếm
tên khách hàng trong danh sách thật khó khăn. Em có gợi ý gì cho bạn An để việc tìm
kiếm được dễ dàng hơn khơng?
Trả lời:
Để việc tìm kiếm tên khách hàng được dễ dàng hơn, An cần soạn thảo danh sách khách
hàng trên máy tính với tên khách hàng được sắp xếp theo thứ tự chữ cái. Giả sử An cần
tìm địa chỉ của khách hàng tên là “Trúc” trong danh sách khách hàng. An khơng cần tìm
từ đầu mà so sánh chữ cái đầu của tên chữ cái đầu của tên ở vị trí giữa danh sách. Nếu
đúng tên thì tìm thấy và dừng lại, nếu chữ cái đầu của tên đứng sau chữ cái đầu tên giữa
danh sách thì tìm ở nửa sau của danh sách, nếu đứng trước thì tìm ở nửa đầu của danh
sách. Lặp lại quá trình đó cho đến khi tìm thấy hoặc hết danh sách.
1. Thuật tốn tìm kiếm nhị phân
Hoạt động 1 trang 75 Tin học 7: Sắp xếp và tìm kiếm
Câu 1 trang 75 Tin học lớp 7: Em hãy cho biết thuật tốn tìm kiếm tuần tự phải thực
hiện bao nhiêu bước để tìm được khách hàng tên “Trúc” trong danh sách ở Hình 15.1?
Em hãy so sánh số bước thực hiện của thuật tốn tìm kiếm tuần tự với số bước thực hiện
của thuật tốn tìm kiếm nhị phân.
Trả lời:
Thuật tốn tìm kiếm tuần tự phải thực hiện 8 lần để tìm được khách hàng tên “Trúc”.
Thuật tốn tìm kiếm nhị phân chỉ thực hiện 3 lần lần để tìm được khách hàng tên “Trúc”.
Câu 2 trang 75 Tin học lớp 7: Theo em trước khi thực hiện thuật tốn tìm kiếm nhị
phân, danh sách khách hàng cần thoả mãn điều kiện gì? Nếu khơng thoả mãn điều kiện
đó, thuật tốn tìm kiếm nhị phân có thực hiện được khơng?
Trả lời:
Trước khi thực hiện thuật tốn tìm kiếm nhị phân, danh sách khách hàng cần sắp xếp
theo thứ tự từ nhỏ đến lớn. Nếu không sắp xếp thứ tự từ nhỏ đến lớn thì thuật tốn tìm
kiếm nhị phân không thực hiện được.
Câu hỏi trang 76 Tin học lớp 7: Em hãy viết các bước thực hiện thuật toán tìm kiếm
nhị phân để tìm khách hàng tên “Hồ” trong danh sách ở Hình 15.1
Trả lời:
Bước 1: Xét vị trí ở giữa của dãy, đó là vị trí số 5
So sánh “Hồ” và “Mai”. Vì “H” đứng trước “M” trong bảng chữ cái nên bỏ đi nữa sau
danh sách.
Bước 2: Xét vị trí ở giữa của nửa đầu của dãy là vị trí số 3
So sánh “Hịa” và “Hịa”, vì hai giá trị bằng nhau nên thuật toán kết thúc.
Sau 2 bước đã tìm thấy tên khách hàng tên “Hồ” nên thuật tốn kết thúc.
2. Sắp xếp và tìm kiếm
Hoạt động 2 trang 77 Tin học 7: Trị chơi tìm số
Câu hỏi trang 77 Tin học lớp 7: Chuẩn bị: Hai bạn chơi A, B và 10 tấm thẻ ghi 10 số
khác nhau (các số đều nhỏ hơn 20). Ví dụ, 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ạn B sử dụng thuật tố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 bạn 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” tuỳ thuộc vào kết quả so sánh số bạn B cần tìm với số ở vị trí
giữa của dãy.
Bước 5. Tuỳ 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. Hốn đổi vị trí của A và B trong lượt chơi tiếp theo.
Trả lời:
Các em tìm 1 bạn chơi cùng mình.
Câu hỏi trang 77 Tin học lớp 7: Em hãy nêu ví dụ trong thực tế cho thấy mối liên
quan giữa sắp xếp và tìm kiếm
Trả lời:
Trong thực tế trong quản lý học sinh, danh sách học sinh luôn được sắp xếp theo chữ
cái đầu của tên để dễ tìm kiếm.
Luyện tập
Luyện tập 1 trang 77 Tin học lớp 7: Cho danh sách tên các nước sau đây:
Bolivia, Albania, Scotland, Canada, Vietnam, Iceland, Portugal, Greenland, Germany
a) Em hãy sắp xếp danh sách tên các nước theo thứ tự trong bảng chữ cái.
b) Em hãy liệt kê các bước tìm kiếm tên nước Iceland trong danh sách đã sắp xếp theo
thuật tốn tìm kiếm nhị phân.
c) Em hãy so sánh số bước thực hiện tìm kiếm ở phần b với số bước thực hiện tìm kiếm
ở Câu 2 phần Luyện tập của bài 14.
Trả lời:
a) Danh sách tên các nước theo thứ tự trong bảng chữ cái: Albania, Bolivia, Canada,
Germany, Greenland, Iceland, Portugal, Scotland, Vietnam.
b) Các bước tìm kiếm tên nước Icelandtrong danh sách đã sắp xếp theo thuật tốn tìm
kiếm nhị phân:
Bước 1: Xét vị trí ở giữa của dãy, đó là vị trí thứ 5
So sánh “Greenland” và “Iceland” vì “G” đứng trước “I” trong bảng chữ cái nên bỏ đi
nữa đầu danh sách.
Bước 2: Xét vị trí ở giữa của nữa sau của dãy, đó là vị trí thứ 7
So sánh Portugal và “Iceland” vì “P” đứng sau “I” trong bảng chữ cái nên bỏ đi nữa
sau danh sách.
Bước 3: Xét vị trí ở giữa của dãy, đó là vị trí thứ 6
So sánh “Iceland” và “Iceland” vì hai giá trị bằng nhau nên thuật tốn kết thúc.
Sau 3 bước đã tìm thấy tên nước “Iceland” nên thuật toán kết thúc.
Luyện tập 2 trang 77 Tin học lớp 7: Em hãy cho ví dụ một bài tốn tìm kiếm trong
thực tế mà có thể thực hiện bằng thuật tốn tìm kiếm nhị phân? Hãy thực hiện thuật
tốn tìm kiếm nhị phân để giải quyết bài tốn đó.
Trả lời:
Ví dụ: Tìm tên một bạn trong danh sách lớp.
- Danh sách lớp, tên học sinh được sắp xếp theo thứ tự trong bảng chữ cái.
⇒ Để tìm tên một học sinh, chúng ta có thể thực hiện thuật tốn tìm kiếm nhị phân để
tìm kiếm.
- Hướng dẫn tìm tên bạn Nga, (giả sử trong lớp khơng có tên trùng nhau).
+ Chúng ta, xem xét từ vị trí giữa sách. So sánh tên cần tìm với tên ở vị trí xét.
Nếu kí tự đầu của tên đứng trước vần N thì tên cần tìm ở nửa sau danh sách.
Nếu kí tự đầu của tên đứng sau vần N thì tên cần tìm ở nửa trước của danh sách.
Nếu tên trùng nhau thì dừng lại.
+ Nếu chưa tìm thấy thì tiếp tục tìm như bước trên.
Vận dụng
Vận dụng trang 77 Tin học lớp 7: Em tìm một từ tiếng Anh trong quyển từ điển theo
cách nào? Tại sao em lại dùng cách đó?
Trả lời:
Em tìm một từ tiếng Anh trong quyển từ điển theo cách tìm kiếm nhị phân.
Giả sử cuốn từ điển có khoảng 300 nghìn mục từ. Nếu tìm kiếm tuần tự thì mất rất
nhiều thời gian. Nếu tra một từ trong từ điển bằng cách tìm kiếm nhị phân thì sau một
lần chia đơi, phạm vi tìm kiếm giảm đi.
Xem thêm lời giải bài tập Tin học lớp 7 Kết nối tri thức với cuộc sống hay, chi tiết
khác:
Bài 16: Thuật toán sắp xếp
Bài 1: Thiết bị vào - ra
Bài 2: Phần mềm máy tính
Bài 3: Quản lí dữ liệu trong máy tính
Bài 4: Mạng xã hội và một số kênh trao đổi thông tin trên internet