Bài 14: Thuật toán tìm kiếm tuần tự

Nội dung lý thuyết

Các phiên bản khác

- Khái niệm: Thuật toán tìm kiếm tuần tự thực hiện lần lượt từ đầu đến cuối danh sách, chừng nào chưa tìm thấy và chưa tìm hết thì còn tìm tiếp.

- Có hai cách mô tả thuật toán tìm kiếm tuần tự:

1. Mô tả thuật toán tìm kiếm tuần tự bằng sơ đồ khối

Ví dụ: Cô An đang muốn tìm tên một bạn học sinh. Thông tin học sinh được cô An ghi trong cuốn sổ lưu danh sách học sinh gồm họ tên, điểm, địa chỉ.

- Công việc mà cô An cần làm có thể nêu thành bài toán tìm kiếm như sau:

+ Đầu vào: danh sách học sinh, họ tên học sinh cần tìm.

+ Đầu ra: tên của học sinh cần tìm.

- Cô An thực hiện tìm kiếm lần lượt từ đầu đến cuối danh sách học sinh. Cách tìm kiếm này gọi là tìm kiếm tuần tự. Với mỗi họ tên học sinh trong danh sách. Cô An kiểm tra xem có đúng họ tên học sinh mà cần tìm không, nếu đúng thì ghi ra tên và kết thúc công việc, còn không thì chuyển đến họ tên học sinh tiếp theo. Nếu tìm hết danh sách mà vẫn không thấy thì thông báo là không tìm thấy và kết thúc. Như vậy, chừng nào chưa tìm thấy và chưa tìm hết thì còn tìm tiếp. Đây chính là cấu trúc lặp.

- Hai điều kiện cần kiểm tra để dừng vòng lặp là:

+ Điều kiện thứ nhất: kiểm tra họ tên học sinh có đúng là họ tên cần tìm không.

+ Điều kiện thứ hai: kiểm tra đã hết danh sách chưa.

- Các bước thực hiện tìm kiếm tên học sinh của cô An được mô tả ở sơ đồ khối dưới đây

Hình 1

2. Mô tả thuật toán tìm kiếm tuần tự bằng ngôn ngữ tự nhiên

- Bước 1. Xét phần tử đầu tiên của danh sách.

- Bước 2. Nếu giá trị của phần tử đang xét bằng giá trị cần tìm thì chuyển sang Bước 4, nếu không thì thực hiện bước tiếp theo (Bước 3).

- Bước 3. Kiểm tra đã hết danh sách chưa. Nếu đã hết danh sách thì chuyển sang Bước 5, nếu chưa thì lặp lại từ Bước 2.

- Bước 4. Trả lời “Tìm thấy” và chỉ ra vị trí phần tử tìm được; Kết thúc.

- Bước 5. Trả lời “không tìm thấy”; Kết thúc.