อัปเดตล่าสุด June 7, 2023
Linear Search Algorithm คืออะไร แนวคิดเป็นยังไง บทความนี้มีคำตอบครับ พร้อมโค้ดตัวอย่างด้วยภาษา Python
Linear Search (หรือเรียกได้อีกแบบว่า Sequential Search) คือ อัลกอริทึมในการเสิร์ชแบบเรียงลำดับ โดยจะทำการเสิร์ชหาค่า Target Value ตั้งแต่ index ตัวแรกไปจนกว่าจะเจอค่าที่ต้องการ
โดย Linear Search เป็น searching algorithm อีกรูปแบบหนึ่งที่เราคงได้ยินบ่อย ๆ เฉกเช่นเดียวกันกับ Binary Search ที่หลาย ๆ คนที่เรียนสาย Computer Science หรือ Engineering คงคุ้นเคยกันดี โดย Linear Search นั้น เรียกได้ว่าเป็น Searching Algorithm ที่เรียบง่ายที่สุด เพราะอะไร? มาดูกันครับ
ลำดับการทำงานอัลกอริทึมของ Linear Search จะมีสเต็ปดังต่อไปนี้ครับ
numbers = [8, 5, 9, 1, 13, 15, 2, 7]
จากค่าข้อมูลใน List (Python)
Best Case: 8 --> โชคดีหน่อยเมื่อค้นหา 8
Worst Case: 7 --> โชคร้ายสุดเมื่อค้นหา 7
เห็นไหมครับว่า Linear Search จะค้นหาไปแบบลำดับ ถ้าค่าที่เราค้นหาอยู่ใน index ต้น ๆ แล้วก็จะค้นหาได้ไวอยู่ แต่ถ้าอยู่ท้าย ๆ ก็จะยิ่งช้าลงไปตามขนาดของ List หรือ Array โดยประสิทธิภาพเมื่อเทียบกับเวลา (Time Complexity) ของ Linear Search นั้นจะเป็น O(n) ซึ่ง n ก็คือจำนวนข้อมูลนั่นเอง
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return None
numbers = [8, 5, 9, 1, 13, 15, 2, 7]
target_number = 13
result = linear_search(numbers, target_number)
if result is not None:
print(f"Target number {target_number} found at index {result}.")
else:
print("Target number not found.")
# Output
Target number 13 found at index 4.
สรุป
นี่คือสรุปภาพรวมเกี่ยวกับ Linear Search ครับเปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน
เรียนเขียนโปรแกรม