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 14. Thuật toán tìm kiếm tuần tự SVIP
- 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ụ: Gia đình bạn An bán giống cây trồng cho bà con nông dân trong vùng. Hôm nay có một khách hàng gọi điện đến mua cây giống và nhờ mẹ An chờ cây giống đến nhà. Thông tin khách hàng được mẹ An ghi trong cuốn số lưu danh sách khách hàng gồm họ tên, địa chỉ, số điện thoại.
- Công việc mà 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 khách hàng, họ tên khách hàng cần tìm.
+ Đầu ra: địa chỉ của khách hàng cần tìm.
- An thực hiện tìm kiếm lần lượt từ đầu đến cuối danh sách khách hàng. 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 khách hàng trong danh sách. An kiểm tra xem có đúng họ tên khách hàng mà mẹ yêu cầu không, nếu đúng thì ghi ra địa chỉ và kết thúc công việc, còn không thì chuyển đến họ tên khách hàng 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 khách hàng 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 địa chỉ khách hàng của An được mô tả ở sơ đồ khối trong
Hình 14.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.
Bạn có thể đánh giá bài học này ở đây