Tìm kiếm tuyến tính (hay Linear Search) là một thuật toán tìm kiếm đơn giản nhất, trong đó một phần tử trong một danh sách được kiểm tra lần lượt từ đầu đến cuối cho đến khi tìm thấy phần tử cần tìm hoặc đã kiểm tra hết danh sách.
Trong tìm kiếm tuyến tính, mỗi phần tử trong danh sách được so sánh với phần tử cần tìm một cách tuần tự, từ phần tử đầu tiên cho đến phần tử cuối cùng. Nếu tìm thấy phần tử cần tìm, thuật toán trả về vị trí của phần tử đó. Nếu không, thuật toán trả về kết quả cho biết rằng phần tử không tồn tại trong danh sách.
Cho một mảng chứa các số nguyên, hãy viết một hàm tìm kiếm tuyến tính để tìm xem một giá trị có tồn tại trong mảng hay không. Nếu tồn tại, trả về vị trí của phần tử đó, nếu không tồn tại, trả về một thông báo rằng giá trị không có trong mảng.
Dưới đây là ví dụ minh họa cách cài đặt thuật toán tìm kiếm tuyến tính trong PHP:
linearSearch($array, $target)
Nếu thay đổi giá trị cần tìm thành một số không tồn tại trong mảng, ví dụ $target = 100
, kết quả sẽ là:
Phần tử 100 không có trong mảng
$array = [10, 20, 30, 40, 50]; $target = 30; $result = linearSearch($array, $target); if ($result != -1) { echo "Phần tử $target được tìm thấy tại vị trí: $result"; } else { echo "Phần tử $target không có trong mảng"; }
Kết quả:
Phần tử 30 được tìm thấy tại vị trí: 2
$array = [10, 20, 30, 40, 50]; $target = 60; $result = linearSearch($array, $target); if ($result != -1) { echo "Phần tử $target được tìm thấy tại vị trí: $result"; } else { echo "Phần tử $target không có trong mảng"; }
Kết quả:
Phần tử 60 không có trong mảng