آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش هفتم

مفاهیم برنامه نویسی به زبان ساده - مبتدی (بخش اول)

بهینه سازی (Optimization)

زمانی که یک برنامه را می نویسید باید در نظر داشته باشید که کامپیوتر یا ماشینی که آن را اجرا خواهد کرد دارای منابع محدودی از حافظه، پردازشگر ،شبکه و غیره می باشد. بنابراین بهینه بودن در استفاده از منابع (Resources) از اهمیت بسیار بالایی برخوردار است.

در نظر بگیرید باک ماشین خود را پر کرده اید و می خواهید ظرف مدت ۳۰ دقیقه از مقصد الف به مقصد ب بروید. در اینجا مقدار بنزین در باک بخشی از منابع ماست، همچنین بهینه بودن در مورد زمان نیز صادق است. بدیهی است که باید مسیر کوتاه تر و خلوت تر را جهت رسیدن به هدف انتخاب نمود.

برای ملموس تر شدن این این مبحث به گراف زیر توجه کنید.

آموزش مفاهیم برنامه نویسی به زبان ساده - مبتدی - بخش هفتم

گراف بالا از نودهای A، B، C،  D، E،  F، G،  H و I تشکیل شده است. این شکل در مجموع ۱۵ ضلع دارد و هر ضلع دارای یک وزن می باشد. به عنوان مثال ضلع مابین نود های A و E دارای وزن ۵ است. فرض بگیرید می خواهیم از نود A به نود I برویم و مجموع وزن ضلع های مسیر برابر با هزینه ماست، همچنین از یک ضلع نباید دوبار عبور کرد. این مسیر را به روش های زیر می توان طی کرد:

آموزش مفاهیم برنامه نویسی به زبان ساده - مبتدی - بخش هفتم

بدیهی است که بهینه ترین مسیر ، مسیری است که کمترین هزینه را دارد. در مسیرهای ذکر شده در بالا ردیف دوم بهینه ترین حالت است.

در شکل بالا نکات بسیار مهمی وجود دارد و اساسا شما به عنوان برنامه نویس باید مهمترین پارامتر یعنی “هدف”  را در کد خود در نظر بگیرید و بر اساس آن کمترین منبع را استفاده کنید.

فرض بگیرید در مثال بالا هدف پیدا کردن بیشترین نود در مسیر A به I باشد، بنابراین باید برنامه بلندترین و کم هزینه ترین روش را بدست بیاورد. که در مسیر های بیان شده مسیر آخر با مقدار هزینه ی ۲۸ جواب خواهد بود.

بیان کردن این بحث در این نقطه از آموزش از این حیث اهمیت دارد که هر برنامه نویس میتواند برای رسیدن به هدف از روش های مختلفی استفاده کند. اما الگوریتم صحیح و روش بهینه رسیدن به نقطه ی آخر همیشه از مهمترین پارامترهای طراحی یک پروژه است.

در آموزش های آتی در مورد بدست آوردن الگوریتم و روش نوشتار آن بحث خواهیم کرد.


آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش اول

آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش دوم

آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش سوم

آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش چهارم

آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش پنجم

آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش ششم

آموزش مفاهیم برنامه نویسی به زبان ساده – مبتدی – بخش هفتم

شرکت ژیوان ارائه دهنده خدمات در زمینه نرم افزار های سفارشی ، طراحی حرفه ای وب سایت