Giải đáp các câu hỏi về thuật toán tìm kiếm:Câu 1: C. Sắp xếp giá trị của mảng cần tìm; chia đôi mảng cần tìm nhiều lần. Nếu giá trị cần tìm nằm ở trên left thì chúng ta sẽ loại bỏ mảng right và chỉ thực hiện tìm kiếm trên left và ngược lại.
Câu 2: B. Xác định vị trí phần tử cần tìm trên mảng và truy cập trực tiếp tới phần tử đó.
Câu 3: D. Thuật toán tìm kiếm tuần tự bắt buộc phải duyệt từ đầu mảng.
Câu 4: C. 4
Câu 5: A. Tìm trong nửa đầu của danh sách.
Câu 6: B. 3
Câu 7: B. 3
Câu 8: C. 0
Câu 9: D. Cả ba đáp án đều đúng.
Câu 10: A. A[0]
Câu 11: C. Cả hai đáp án đều đúng.
Câu 12: D. Tìm kiếm dữ liệu cho trước trong một danh sách đã cho.
Câu 13: C. 3
Giải thích:
Câu 1:
- Thuật toán tìm kiếm tuần tự thực hiện tìm kiếm bằng cách duyệt qua từng phần tử trong mảng.
- Thuật toán tìm kiếm nhị phân yêu cầu mảng cần tìm phải được sắp xếp.
Câu 2:
- Thuật toán tìm kiếm nhị phân thực hiện tìm kiếm bằng cách chia đôi mảng liên tục và so sánh giá trị cần tìm với giá trị ở vị trí giữa.
Câu 3:
- Thuật toán tìm kiếm tuần tự bắt đầu tìm từ đầu mảng và chỉ dừng lại khi tìm thấy phần tử cần tìm hoặc đã duyệt qua toàn bộ mảng.
Câu 4:
- Thuật toán tìm kiếm tuần tự cần duyệt qua 4 phần tử để tìm thấy số 12 trong dãy số [1, 9, 12, 7, 19, 20].
Câu 5:
- Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị giữa thì phần tử cần tìm sẽ nằm ở nửa đầu của danh sách.
Câu 6:
- Thuật toán tìm kiếm nhị phân cần 3 bước để tìm thấy số 10 trong dãy số [1, 7, 10, 12, 19].
Câu 7:
- Sử dụng thuật toán tìm kiếm tuần tự, ta tìm thấy phần tử A[3] có giá trị bằng 5.
Câu 8:
- Lần xét đầu tiên, thuật toán tìm kiếm nhị phân sẽ so sánh giá trị cần tìm với giá trị ở vị trí giữa, là A[mid] = A[3] = 5.
Câu 9:
- Sắp xếp dữ liệu giúp thu hẹp phạm vi tìm kiếm, từ đó giúp tìm kiếm nhanh hơn và chính xác hơn.
Câu 10:
- Khi K nhận giá trị bằng A[0], thuật toán tìm kiếm tuần tự chỉ cần duyệt qua 1 phần tử để tìm thấy giá trị cần tìm.
Câu 11:
- Thuật toán tìm kiếm tuần tự thực hiện tìm kiếm bằng cách duyệt qua từng phần tử trong danh sách.
- Vòng lặp chỉ dừng lại khi tìm thấy phần tử cần tìm hoặc đã duyệt qua toàn bộ danh sách.
Câu 12:
- Thuật toán tìm kiếm tuần tự được sử dụng để tìm kiếm dữ liệu cho trước trong một danh sách đã cho.
Câu 13:
- Thuật toán tìm kiếm tuần tự cần kiểm tra 3 điều kiện để dừng vòng lặp:
- Tìm thấy phần tử cần tìm.
- Đã duyệt qua toàn bộ danh sách.
- Giá trị cần tìm không có trong danh sách.