الگوریتم جستجوی خطی (Linear Search)
جستجوی خطی یکی از سادهترین الگوریتمهای جستجو در دادهها است که برای پیدا کردن یک مقدار خاص در لیست یا آرایه استفاده میشود. این الگوریتم به طور تدریجی از ابتدای دنباله شروع میکند و تا زمانی که مقدار مورد نظر یافت نشود یا به انتهای دنباله برسد ادامه مییابد.
روال عمل الگوریتم:
- شروع از ابتدای دنباله (اولین عنصر).
- بررسی عنصر فعلی با مقدار مورد نظر.
- اگر عنصر فعلی برابر با مقدار مورد نظر باشد، جستجو پایان مییابد و موقعیت (یا ایندکس) عنصر مورد نظر باز میگردد.
- اگر عنصر فعلی با مقدار مورد نظر برابر نباشد، به عنصر بعدی منتقل شده و مراحل 2 تا 4 تکرار میشوند.
- اگر به انتهای دنباله برسیم و مقدار مورد نظر یافت نشود، جستجو ناموفق است.
مثال با پایتون:
def linear_search(arr, target):
"""
الگوریتم جستجوی خطی
:param arr: لیست یا آرایه ای که در آن جستجو انجام میشود
:param target: مقداری که برای جستجو ارائه شده است
:return: ایندکس مقدار در صورت یافت شدن، در غیر اینصورت -1
"""
for i in range(len(arr)):
if arr[i] == target:
return i # مقدار یافت شده، ایندکس باز میگردد
return -1 # مقدار یافت نشده
# مثال استفاده:
my_list = [1, 3, 5, 7, 9, 11, 13]
target_value = 7
result = linear_search(my_list, target_value)
if result != -1:
print(f"مقدار {target_value} در ایندکس {result} یافت شد.")
else:
print(f"مقدار {target_value} یافت نشد.")
در این مثال، تابع linear_search
یک لیست و یک مقدار هدف را به عنوان ورودی میگیرد و از الگوریتم جستجوی خطی برای یافتن موقعیت این مقدار در لیست استفاده میکند.
دیدگاهها