อัลกอริทึมการค้นหาเชิงเส้นเป็นวิธีการค้นหาพื้นฐานและตรงไปตรงมา ทำงานโดยการวนซ้ำแต่ละองค์ประกอบของลำดับเพื่อค้นหาค่าเฉพาะ แม้จะง่าย แต่วิธีนี้ใช้ได้ผลกับลำดับเล็กๆ หรือเมื่อเรียงลำดับแล้ว
มันทำงานอย่างไร
- วนซ้ำผ่านองค์ประกอบ: เริ่มจากองค์ประกอบแรกและตรวจสอบว่าค่าปัจจุบันตรงกับค่าเป้าหมายหรือไม่
- ตรวจสอบการจับคู่: หากค่าที่ตำแหน่งปัจจุบันตรงกับค่าเป้าหมาย กระบวนการค้นหาจะสิ้นสุดลง และตำแหน่งของค่าจะถูกส่งกลับ
- ย้ายไปยังองค์ประกอบถัดไป: หากไม่พบรายการที่ตรงกัน ให้ย้ายไปยังองค์ประกอบถัดไปและตรวจสอบต่อไป
- ทำซ้ำ: ทำซ้ำขั้นตอนที่ 2 และ 3 จนกว่าจะพบค่าหรือข้ามลำดับทั้งหมด
ตัวอย่าง: การค้นหาเชิงเส้นสำหรับหมายเลข 7 ในอาร์เรย์
function linearSearch($arr, $target) {
$n = count($arr);
for($i = 0; $i < $n; $i++) {
if($arr[$i] == $target) {
return $i; // Return the position of the value
}
}
return -1; // Value not found
}
$array = [2, 5, 8, 12, 15, 7, 20];
$targetValue = 7;
$result = linearSearch($array, $targetValue);
if($result != -1) {
echo "Value $targetValue found at position $result.";
} else {
echo "Value $targetValue not found in the array.";
}
ในตัวอย่างนี้ เราใช้วิธี Linear Search เพื่อหาค่า 7 ในอาร์เรย์ที่กำหนด เราวนซ้ำแต่ละองค์ประกอบของอาร์เรย์และเปรียบเทียบกับค่าเป้าหมาย เมื่อเราพบค่า 7 ที่ตำแหน่งที่ 5 โปรแกรมจะส่งกลับข้อความ "พบค่า 7 ที่ตำแหน่ง