منابع و مراجع درس:
- کتاب طراحی الگوریتمها نویسنده ریچارد نیپولیتن
- کتاب طراحی الگوریتمها نویسنده دکتر محمود نقیب زاده
- کتاب طراحی الگوریتمها نویسنده کرمن
سرفصل درس و جزوه:
-
فصل اول: مفاهیم اولیه، مرتبه زمانی و تحلیل الگوریتمها - تمرین ها
-
فصل دوم: روش تقسیم و غلبه (Divide and Conquer) - تمرین ها
-
فصل سوم: روش حریصانه (Greedy Approach) - تمرین ها
-
فصل چهارم: روش برنامه نویسی پویا (Dynamic Programming)-تمرین ها
-
فصل پنجم: روشهای جستجو (Backtracking-Branch & Bound)-تمرین ها
نحوه ارزشیابی:
-
کوئیز 1 نمره (نمره مازاد 20)
-
تمرین های کلاسی 2 نمره
-
پروژه برنامه نویسی 4 نمره (1 نمره مازاد 20)
-
امتحان میانترم 5 نمره
-
امتحان پایان ترم 10 نمره
پروژه برنامه نویسی:
پروژه ترم دوم سال تحصیلی 98-97
-
الف) الگوریتم دایجسترا: تعیین کوتاهترین مسیرها از مبداء واحد
- ب) الگوریتم پردازش رشته: می خواهیم رشته X = x1 x2 x3 ... xn را به رشته Y = y1 y2 y3 ... ym تبدیل کنیم به طوری که هزینه مجموع اعمال ویرایشی انجام شده مینیمم باشد. اعمال ویرایشی عبارتند از:
D = Delete -------> D(xi) g
I = Insert -------> I(yj) g
C = Change -------> C(xi,yj) g
برای تحویل پروژه یک فایل pdf با محتویات زیر ایجاد نمایید و در روز تحویل پروژه پرینت کامل آن را به همراه کد مربوطه برای اجراء بیاورید. محتویات فایل pdf عبارتند از:
- - نام و نام خانوادگی و شماره دانشجویی
- - عنوان مسئله
- - ایده حل مسئله (روش حل مسئله)
- - تشریح جزئیات حل مسئله
- - ارائه کد حل مسئله (با توضیحات)
- - تست یک نمونه ورودی و خروجی از برنامه نهایی
نمونه سوالات امتحانی:
سایت ها و مطالب مفید :
- فایل فلش الگوریتم های مختلف: در این فایل بسیاری از الگوریتم های مختلف بصورت تجسمی و تعاملی توضیح داده شده اند. این فایل توسط گروه کامپیوتر دانشگاه سان فرانسیسکو تولید شده است.
-
سایت انواع سوالات طراحی الگوریتم ها: در این سایت انواع مختلف سوالات طراحی الگوریتم ها و مسابقات ACM با دسته بندی های مناسبی به همراه پاسخ آنها ارائه شده است.
- سایت تجسمی برای الگوریتمها: در این سایت، اکثر الگوریتم های مورد بحث در علوم کامپیوتر بصورت تصویری و تعاملی شرح داده شده است. می توان آن را یکی از هزارن صفحه تجسم سازی اطلاعات و الگوریتم ها در وب دانست که روز به روز بر تعداد آنها افزوده می شود
- سایت ارائه الگوریتمها از سایت های دیگر: این سایت سعی کرده لینک تمامی جاهایی که الگوریتمی را پیاده سازی کرده یا به صورت انیمیشن (فلش/ جاوا اپلت/HTML5/ ...) در اختیار سایرین قرار داده اند را جمع آوری کند.
سوالات کنکور سراسری:
-
1389 1390 1391 1392 1393
سوالات جهانی مسابقات ACM:
کلیپهای آموزشی طراحی الگوریتمها از دانشگاه MIT:
-
فصل اول ---------------------- متن تدریس
-
فصل دوم --------------------- متن تدریس
-
فصل سوم -------------------- متن تدریس
-
فصل چهارم ------------------- متن تدریس
-
فصل پنجم -------------------- متن تدریس