อัลกอริทึมการค้นหาเชิงเส้นเป็นวิธีการง่ายๆ ที่ใช้ในการค้นหาองค์ประกอบเฉพาะในรายการ อัลกอริทึมนี้ทำงานโดยการตรวจสอบแต่ละองค์ประกอบในรายการตามลำดับจนกว่าจะพบองค์ประกอบที่ต้องการหรือสำรวจรายการทั้งหมด
มันทำงานอย่างไร
- เริ่มจากองค์ประกอบแรกในรายการ
- เปรียบเทียบองค์ประกอบปัจจุบันกับค่าเป้าหมาย
- หากองค์ประกอบปัจจุบันเท่ากับค่าเป้าหมาย อัลกอริทึมจะยุติและส่งกลับตำแหน่งขององค์ประกอบ
- ถ้าไม่ ให้วนซ้ำผ่านองค์ประกอบที่เหลือในรายการ
- หากสำรวจรายการทั้งหมดโดยไม่พบองค์ประกอบเป้าหมาย อัลกอริทึมจะส่งกลับค่าที่ระบุว่าไม่พบ
ตัวอย่าง
สมมติว่าเรามีรายการจำนวนเต็มและเราต้องการหาหมายเลข 34 ในรายการ
รายการ: {12, 45, 67, 89, 34, 56, 23, 90}
- เริ่มที่องค์ประกอบแรก: 12. ไม่ใช่ตัวเลขที่ต้องการ.
- ย้ายไปยังองค์ประกอบถัดไป: 45 ไม่ใช่ตัวเลขที่ต้องการ
- ดำเนินการต่อด้วยองค์ประกอบที่เหลือ: 67, 89, 34 องค์ประกอบ 34 ตรงกับหมายเลขที่ต้องการ
- อัลกอริทึมจะยุติและส่งกลับตำแหน่ง 34 ซึ่งเป็น 4
ตัวอย่างโค้ดในภาษา C++
ในตัวอย่างที่ให้มา เราใช้ linearSearch
ฟังก์ชันเพื่อค้นหาหมายเลข 34 ในรายการจำนวนเต็ม ผลลัพธ์จะเป็นตำแหน่ง 34 ในรายการ(ตำแหน่งเริ่มต้นจาก 0) หรือ -1 หากไม่พบหมายเลข