در این جلسه تیم کدگیت را با آموزش جستجوی خطی در پایتون همراهی کنید. جستجوی خطی از سادهترین الگوریتمهای جستجو بوده و به کمک آن میتوان یک عنصر را درون لیست پیدا کرد. پیشنهاد میکنیم آموزشهای زیر را قبل از مطالعه این جلسه، بررسی کنید:
- آشنایی با توابع
- آشنایی با لیست
- For در پایتون
جستجوی خطی
یکی از الگوریتم هایی که برای جستجوی یک سری داده وجود دارد جستجوی ترتیبی یا جستجوی خطی است. این الگوریتم کلیه عناصر درون یک لیست را یکی یکی بررسی میکند تا آرگومان جستجو پیدا شود.این الگوریتم جزو ساده ترین الگوریتمهای جستجو میباشد.(ویکیپدیا).
جستجوی خطی در پایتون
برای پیاده سازی جستجوی خطی در پایتون ما یک تابع مینویسیم. این تابع دو ورودی میگیرد یکی لیست و دیگری عددی که به دنبال آن هستیم. در ادامه ما کل لیست را به ترتیب میگردیم تا بتوانیم عنصری که میخواهیم را پیدا کنیم. کد جستجوی خطی به صورت زیر است:
def search(arr, x):
for i in range (len(arr)):
if (arr[i] == x):
return i;
return -1;
همانطور که در کد جستجوی خطی در پایتون میبینید ما تابعی به نام Search نوشتیم این تابع دو ورودی arr و x را دارد. خروجی تابع اندیس خانه ای است که x در آن قرار دارد. این خانه در لیست arr است. اگر x در لیست وجود نداشت اندیس را -1 قرار میدهیم و return میکنیم.
تست برنامه جستجوی خطی در پایتون
برای تست کدهای بالا، کد زیر را بزنید:
if __name__ == '__main__':
arr = [ 2, 3, 4, 10, 40 ];
x = 10;
result = search(arr, x)
if(result == -1):
print("Element is not present in array")
else:
print("Element is present at index", result);
در کد بالا ما یک لیست arr و یک x برای پیدا کردن در لیست ساختیم. سپس تابع search را صدا زدیم و خروجی این تابع را در یک متغیر به نام result ریختیم. در آخر نیز این اندیس را چاپ کردیم. خروجی کد بالا به صورت زیر است:
Element is present at index 3