1- مبانی ریاضیاتی
1) مبانی ریاضیاتی
2- کارآیی، تحلیل و مرتبه الگوریتمها
1) آشنایی با مفهوم الگوریتمها
2) اهمیت ارائه الگوریتمهای کارآمد
3) تحلیل پیچیدگی الگوریتمها
4) مرتبه الگوریتمها
3- حل معادلات بازگشتی
1) آشنایی با توابع و معادلات بازگشتی
2) معادلات بازگشتی خطی همگن
3) معادلات بازگشتی خطی ناهمگن
4) حل معادلات بازگشتی با کمک تغییر متغیر
5) حل معادلات بازگشتی خطی ناهمگن با استفاده از جایگزینی
6) محاسبه پیچیدگی توابع بازگشتی با مقدار n خاص
7) روشی کلی جهت تعیین پیچیدگی و مرتبه معادلات بازگشتی
8) قضیه اصلی - روشی کلی جهت تعیین پیچیدگی و مرتبه معادلات بازگشتی
9) روشی دیگر جهت تعیین پیچیدگی و مرتبه معادلات بازگشتی
10) تعیین پیچیدگی و مرتبه معادلات بازگشتی با کمک درخت بازگشت
4- رهیافت تقسیم و حل
1) مقدمهای بر رهیافت تقسیم و حل
2) جستجوی دودویی
3) مرتبسازی ادغامی
4) مرتبسازی سریع
5) ضرب ماتریسها به روش استراسن
6) محاسبات با اعداد صحیح بزرگ
7) تعیین مقادیر آستانه
5- رهیافت برنامهنویسی پویا
1) مقدمهای بر رهیافت برنامهنویسی پویا
2) محاسبه ضریب دو جملهای
3) محاسبه کوتاهترین مسیرها به روش فلوید
4) ضرب زنجیرهای ماتریسها
5) درختهای جستجوی دودویی بهینه
6) فروشنده دورهگرد
7) کلاسهای پیچیدگی
6- رهیافت حریصانه
1) مقدمهای بر رهیافت حریصانه
2) درختهای پوشای کمینه
3) محاسبه کوتاهترین مسیر تک مبدا به روش دیکسترا
4) مساله زمانبندی
5) کدگذاری به روش هافمن
6) مساله کولهپشتی
7- رهیافت عقبگرد
1) مقدمهای بر رهیافت عقبگرد
2) مساله n وزیر
3) مساله حاصلجمع زیرمجموعهها
4) مساله رنگآمیزی گراف
5) مساله تورهای هامیلتونی
6) مساله کولهپشتی 0-1