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 toá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.
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.
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 toá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 toá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.
-- Mod Tin Học 7