درک کردن چگونگی کارکرد الگوریتمها یکی از موضوعات مهمیست که برنامهنویسان حرفهای باید اون رو حتما یاد بگیرند. برای همین موضوع شما به عنوان یک برنامه نویس حرفهای پایتون حتما باید با تک تک الگوریتمها و چگونگی پیادهسازیشون آشنا بشید.
زمانی که ما قصد جستجو کردن یک آیتم در یک لیست را داشته باشیم دقیقا کامپیوتر این کار را به چه صورتی انجام میدهد؟ برای انجام چنین کاری الگوریتمهای جستجوی مختلفی بوجود آمدهاند که من توی این بلاگ پست میخوام شما رو با اولین و سادهترین موردش که جستجوی خطی هستش آشنا بکنم.
بگذارید کارکرد این الگوریتم رو در یک مثال براتون توضیح بدم. تصور کنید که شما لیستی شامل اعداد یک تا ده رو دارید و میخواید عدد ۶ رو در این لیست پیدا کنید. زمانی که عملیات جستجو رو انجام میدید در الگوریتم جستجو خطی از ابتدا یا انتها ایندکسها به صورت تک به تک بررسی میشن و در نهایت به ایندکس مربوط به عدد ۶ میرسه. پس در این جستجو ایندکسها به صورت تک به تک بررسی میشن و در بسیاری از حالتها این الگوریتم بسیار کُند عمل میکند.
برای پیادهسازی این حالت در پایتون ما به یک لیست نیاز داریم (یا هر دیتا استراکچر دیگهای که iterable باشه) و یک مقدار هدف یا چیزی که دنبالش هستیم.
در مرحله بعدی باید تک تک آیتمهای لیست رو با مقدار هدفمون مقایسه بکنیم اگه که برابر بود در نهایت میتونیم اندیس اون مقدار رو برگردونیم و اگر نتونستیم مقدار None رو برخواهیم گردوند. به کد نمونه زیر دقت کنید.