Giải thuật Tìm kiếm Tuyến tính (Linear Search) trong PHP - Giải thích, Ví dụ và Mã nguồn

Thuật toán Tìm kiếm Tuyến tính là một phương pháp tìm kiếm cơ bản và đơn giản nhất. Nó hoạt động bằng cách duyệt qua từng phần tử của dãy để tìm kiếm một giá trị cụ thể. Mặc dù đơn giản, nhưng phương pháp này có hiệu quả cho các dãy nhỏ hoặc đã được sắp xếp.

Cách hoạt động

  1. Duyệt từng phần tử: Bắt đầu từ phần tử đầu tiên, kiểm tra xem giá trị hiện tại có khớp với giá trị cần tìm kiếm hay không.
  2. Kiểm tra khớp: Nếu giá trị tại vị trí hiện tại khớp với giá trị tìm kiếm, quá trình tìm kiếm kết thúc và vị trí của giá trị được trả về.
  3. Chuyển đến phần tử tiếp theo: Nếu không khớp, di chuyển sang phần tử tiếp theo và tiếp tục kiểm tra.
  4. Lặp lại: Lặp lại bước 2 và 3 cho đến khi tìm thấy giá trị hoặc duyệt hết dãy.

Ví dụ: Tìm kiếm số 7 trong mảng bằng Tìm kiếm Tuyến tính

function linearSearch($arr, $target) {
    $n = count($arr);
    for ($i = 0; $i < $n; $i++) {
        if ($arr[$i] == $target) {
            return $i; // Trả về vị trí của giá trị
        }
    }
    return -1; // Không tìm thấy giá trị
}

$array = [2, 5, 8, 12, 15, 7, 20];
$targetValue = 7;

$result = linearSearch($array, $targetValue);

if ($result != -1) {
    echo "Giá trị $targetValue được tìm thấy tại vị trí $result.";
} else {
    echo "Không tìm thấy giá trị $targetValue trong mảng.";
}

Trong ví dụ này, chúng ta tìm kiếm giá trị 7 trong mảng đã cho bằng phương pháp Tìm kiếm Tuyến tính. Chúng ta duyệt qua từng phần tử của mảng và so sánh với giá trị cần tìm. Khi tìm thấy giá trị 7 tại vị trí thứ 5, chương trình sẽ trả về thông báo "Giá trị 7 được tìm thấy tại vị trí