Hãy xác định trong các thao tác dưới đây, thao tác nào là của thuật toán tìm kiếm tuần tự, thao tác nào là của thuật toán tìm kiếm nhị phân bằng cách đánh dấu (ü) vào ô tương ứng.
Trả lời:
- Thuật toán tìm kiếm tuần tự thực hiện so sánh lần lượt từ phần tử đầu tiên của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.
- Thuật toán tìm kiếm nhị phân:
+ Áp dụng với dãy giá trị đã được sắp xếp.
+ Ở mỗi lần lặp, thực hiện:
Bước 1. So sánh giá trị cần tìm với giá trị của phần tử giữa dãy đang xét.
Bước 2. Nếu bằng nhau thì thông báo vị trí tìm thấy và kết thúc.
Bước 3. Nếu nhỏ hơn thì xét dãy ở nửa trước, nếu lớn hơn thì xét dãy ở nửa sau.
Bước 4. Nếu dãy rỗng thì thông báo không tìm thấy và kết thúc tìm kiếm, không thì quay lại bước 1.
⇒ Bảng kết quả như sau:
Gói VIP thi online tại VietJack (chỉ 400k/1 năm học), luyện tập gần 1 triệu câu hỏi có đáp án chi tiết
Cho dãy số: 47, 35, 36, 11, 36, 46, 36, 63, 36, 18, 24. Để tìm số 36 trong dãy số này bằng thuật toán tìm kiếm tuần tự, ta cần thực hiện bao nhiêu lần lặp?
A. 3 lần. B. 5 lần. C. 7 lần. D. 9 lần.
Hãy ghép mỗi tình huống ở cột bên trái với một cách sắp xếp ở cột bên phải cho phù hợp.
Tình huống |
Cách sắp xếp theo thứ tự phù hợp |
1) Giáo viên lập danh sách tên học sinh của một lớp. |
a) Sắp xếp theo thứ tự thời gian tăng dần. |
2) Lớp trưởng lập danh sách các bạn trong lớp đăng kí tham gia cuộc thi văn nghệ. |
b) Sắp xếp theo trình tự bảng chữ cái. |
3) Ban tổ chức đại hội thể thao Đông Nam Á (SEA Games) lập bảng tổng sắp huy chương của các nước tham gia. |
c) Sắp xếp theo thứ tự ưu tiên (người già, trẻ em, ...) và thời gian tăng dần. |
4) Nhân viên y tế sắp xếp hồ sơ người chờ đến lượt khám sức khỏe. |
d) Sắp xếp theo thứ tự số huy chương vàng, bạc, đồng giảm dần. |
Theo em, thuật toán tìm kiếm nào trong 2 thuật toán đã học là phù hợp nhất để tìm một số trong dãy số 14, 17, 21, 25, 30, 52, 66? Vì sao em không chọn thuật toán còn lại?
Hãy mô phỏng thuật toán phù hợp nhất đã chọn để tìm số 30 trong dãy số trên bằng cách điền thông tin mỗi lần lặp vào bảng dưới đây.
Lần lặp |
Số của dãy được kiểm tra |
Đúng số cần tìm |
Đã kiểm tra hết số |
1 |
… |
… |
… |
2 |
… |
… |
… |
… |
… |
… |
… |