الگوریتم یافتن بیشینه
یکی از پایهایترین مسائل الگوریتمی، پیدا کردن بزرگترین مقدار در بین چند عدد است. ایدهی اصلی این است که یک متغیر به نام max داشته باشیم، آن را با اولین عدد مقداردهی اولیه کنیم، سپس بقیهی اعداد را یکییکی با آن مقایسه کنیم و در صورت بزرگتر بودن، مقدار max را بهروزرسانی کنیم.
الگوریتم به زبان ساده:
- شروع
- دریافت لیستی از اعداد
- max = اولین عدد لیست
- برای هر عدد بعدی در لیست: اگر عدد بزرگتر از max بود، max = عدد
- نمایش max
- پایان
پس از ردیابی دستی این الگوریتم روی چند مثال، میتوانیم آن را به کد پایتون تبدیل کنیم:
numbers = [7, 15, 3, 22, 9]
maximum = numbers[0]
for number in numbers[1:]:
if number > maximum:
maximum = number
print(f"بزرگترین عدد: {maximum}")نکتهی مهم این است که اگر لیست خالی باشد، این الگوریتم با خطا مواجه میشود، چون نمیتوانیم عنصر اول یک لیست خالی را بخوانیم. در طراحی الگوریتمهای واقعی، همیشه باید به چنین حالتهای مرزی (edge cases) فکر کنیم و برای آنها راهحل مناسب در نظر بگیریم.