logo

Em hãy cho biết thuật toán tìm kiếm tuần tự phải thực hiện bao nhiêu bước để tìm khách hàng tên Trúc như ở Hình 15.1?

icon_facebook

Câu hỏi: Em hãy cho biết thuật toán tìm kiếm tuần tự phải thực hiện bao nhiêu bước để tìm khách hàng tên Trúc như ở Hình 15.1? Em hãy so sánh số bước thực hiện của thuật toán tìm kiếm tuần tự với số bước thực hiện thuật toán tìm kiếm nhị phân.

Lời giải:

- Quan sát Hình 15.1

- Thuật toán tìm kiếm tuần tự: tìm kiếm lần lượt từ đầu danh sách cho đến khi tìm được

- Thuật toán tìm kiếm nhị phân: so sánh giá trị ở giữa danh sách đã được sắp xếp với giá trị cần tìm.

Thuật toán tìm kiếm tuần tự phải thực hiện 3 bước để tìm khách hàng tên Trúc như ở Hình 15.1.

- Số bước thực hiện của thuật toán tìm kiếm tuần tự nhiều hơn so với số bước thực hiện thuật toán tìm kiếm nhị phân vì thuật toán tìm kiếm tuần tự sẽ tìm kiếm lần lượt từ đầu danh sách cho đến khi tìm được tên của bạn Trúc nên sẽ mất 8 lần lặp, còn thuật toán tìm kiếm nhị phân so sánh giá trị ở giữa danh sách nên sẽ nhanh chóng hơn.

Em hãy cho biết thuật toán tìm kiếm tuần tự phải thực hiện bao nhiêu bước để tìm khách hàng tên Trúc như ở Hình 15.1?

* Phát biểu thuật toán tìm kiếm nhị phân(Binary search)

Cho một mảng đã sắp xếp arr[] có n phần tử, viết một hàm tìm kiếm trả về chỉ số của phần tử có giá trị x trong arr[].

Giải thuật đơn giản nhất cho bài toán này là sử dụng linear search(tìm kiếm tuyến tính). Tức là bạn sẽ phải đi qua từng phần tử của mảng để đối chiếu với x cần tìm. Thuật toán này trong trường hợp xấu nhất cho độ phức tạp là O(n). Mình cũng sẽ minh họa code của thuật toán này dưới đây.

Đây là code C/C++ sử dụng linear search.

icon-date
Xuất bản : 04/08/2022 - Cập nhật : 23/10/2023

Câu hỏi thường gặp

Đánh giá độ hữu ích của bài viết

😓 Thất vọng
🙁 Không hữu ích
😐 Bình thường
🙂 Hữu ích
🤩 Rất hữu ích
image ads