حسام حداد

در مورد برنامه نویسی ، الگوریتم نویسی ، نکات ترفند ها

حسام حداد

در مورد برنامه نویسی ، الگوریتم نویسی ، نکات ترفند ها

در این وبلاگ شخصی نکته ها ، راهکار ها و مطالب جدید برنامه نویسی قرار میگیرد.
نویسنده کلیه مطالب شخص حسام حداد میباشد و خواهشمند است حق کپی را رعایت کنید.

آخرین نظرات
  • ۱۸ آبان ۹۵، ۱۲:۵۱ - سامان
    ای ول

۳ مطلب با کلمه‌ی کلیدی «پیشنیاز ACM» ثبت شده است

مقدمه
سوال «چگونه کار کنیم تا در مسابقات برنامه نویسی موفق شویم؟» به تعداد افراد شرکت کننده در این مسابقات جواب مختلف دارد ولی تعدادی ضدالگو وجود دارد که همه با مشکل ساز بودن این ضدالگو ها موافق هستند. یک مثال ساده این است که مثلا تشخیص روشهای افزایش ده سال طول عمر، سخت تر از تشخیص روشهای کاهش ده سال طول عمر هست و اگر شما از این ضد الگوها یا کارهای اشتباه دوری کنید میتوان امیدوار بود که در کل نتیجه بهتری بگیرید. بد نیست از کتاب «چگونه در C++ برنامه ننویسیم؟» نام ببرم که در انتخاب عنوان از این کتاب الگو گرفتم.
  • حسام حداد

مقدمه

بسیاری از مسائل برنامه نویسی تنها با استفاده از Dynamic Programming حل میشوند در این نوشتار سعی شده که طرح کلی برنامه نویسی پویا و دلیل و مزایای استفاده از آن با چندین پیاده سازی برای تابع Fibonacci بیان شود. در مطالب آینده مثال های مهم تر و به نسبت پیچیده تری قرار میگیرد.


برنامه نویسی پویا یا Dynamic Programming چیست ؟

همه شما کم و بیش با الگوریتم ها یا برنامه هایی که به صورت بازگشتی عمل میکنند اطلاع دارید. حل یک مسئله با حل کردن یک یا چندین زیر مسئله .

در استفاده از تکنیک برنامه نویسی پویا ما حل مسئله را توسط حل مسئله های کوچکتر بیان میکنیم با این تفاوت که با ذخیره سازی از محاسبه دوباره اجتناب میکنیم.

  • حسام حداد


برای برنامه نویسی ACM و یا به عبارت بهتر حل سوالات ACM شما نیاز به آشنایی با موارد زیر دارید ...

این موارد به طور کلی بیان شده است ...

1. برنامه نویسی به زبان ++C یا جاوا ( ترجیحا ++C)

2. طراحی الگوریتم ( بیشتر سوالات نیاز به دانستن بالای یک زبان برنامه نویسی ندارند و فقط چند عدد ورودی و خروجی دارند )

3. ساختمان داده ها ( برای حل برخی سوالات )

4. هوش مصنوعی ( برای حل برخی سوالات )


اگر فکر میکنید که در برخی از موارد بالا از مهارت کافی برخوردار نیستید به هیج وجه عقب نشینی نکنید میتوانید از سوال های خیلی ساده شروع کنید. و نقاط ضعفتان را به مرور برطرف کنید.

  • حسام حداد