Bài học cùng chủ đề
Báo cáo học liệu
Mua học liệu
Mua học liệu:
-
Số dư ví của bạn: 0 coin - 0 Xu
-
Nếu mua học liệu này bạn sẽ bị trừ: 2 coin\Xu
Để nhận Coin\Xu, bạn có thể:
Bài 15. Thuật toán tìm kiếm nhị phân SVIP
1. Thuật toán tìm kiếm nhị phân
a) 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ị ở vị trí giữa danh sách, nếu lớn hơn thì tìm ở nửa sau của danh sách, nếu nhỏ hơn thì tìm ở 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 thì còn tìm tiếp.
b) Mô tả 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à 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.
Bước 3. Nếu giá trị cần tìm bằng giá trị ở vị trí giữa thì kết luận và kết thúc.
Bước 4. Nếu giá trị cần tìm nhỏ hơn giá trị của vùng 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 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 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).
* Ví dụ: Các bước để An tìm kiếm khách hàng tên Hoà trong danh sách dưới đây theo thuật toán tìm kiếm nhị phân
DANH SÁCH KHÁCH HÀNG |
|||
TT |
Họ đệm |
Tên |
Địa chỉ |
1 |
Nguyễn |
An |
Xóm 1, Nghĩa Lộ, Võng Xuyên |
2 |
Trần |
Bình |
Xóm 3, Thư Trai |
3 |
Nguyễn |
Hoà |
69 Ngô Quyền |
4 |
Kiều Thị |
Liên |
75 Lê Văn Tám |
5 |
Hoàng |
Mai |
Số 3, tổ 7, Phúc Hoà |
6 |
Ngô Hoàng |
Phương |
Xóm 6, Lục Xuân, Hoà Hưng |
7 |
Ngô Hà |
Trang |
Phương Độ, Phúc Thọ |
8 |
Thanh |
Trúc |
Xóm 2, Lục Xuân, Hoà Hưng |
9 |
Trần Thanh |
Tước |
48 Hoàng Hoa Thám |
- Bước 1: Xét vị trí ở giữa của dãy, đó là vị trí số 5.
- Bước 2: Xét vị trí ở giữa của nửa đầu của dãy là vị trí số 3. Vì sau bước 2 đã tìm thấy tên khách hàng nên thuật toán kết thúc.
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.
Bạn có thể đánh giá bài học này ở đây