یادداشت‌های یک معلم برنامه‌نویسی، حل مسئله، علم داده و یادگیری ماشین

 

الگوریتم

الگوریتم آنلاین
آشنایی با الگوریتم‌های آنلاین با مثال
دنباله اعداد فیبوناچی
بررسی الگوریتم‌های محاسبه دنباله اعداد فیبوناچی و کارایی آنها
الگوریتم فلوید-وارشال
آشنایی با الگوریتم فلوید-وارشال برای یافتن کوتاهترین مسیرهای گراف با قطعه کد نمونه به زبان‌های برنامه‌نویسی ++C و Python
الگوریتم دایجسترا
آشنایی با الگوریتم دایکسترا برای یافتن کوتاهترین مسیر تک‌مبدأ در گراف وزن‌دار بدون یال منفی با قطعه کد به زبان ++C
الگوریتم مرتب‌سازی هرمی
آشنایی با روش مرتب‌سازی هرمی (Heap Sort)
الگوریتم مرتب‌سازی سریع
آشنایی با روش مرتب‌سازی سریع، همراه با قطعه کدهای نمونه به زبان‌های برنامه‌نویسی ++C و Python
الگوریتم مرتب‌سازی درجی
آشنایی با روش مرتب‌سازی درجی، همراه با قطعه کد به زبان‌های برنامه‌نویسی ++C و Python
الگوریتم مرتب‌سازی انتخابی
آشنایی با روش مرتب‌سازی انتخابی،همراه با قطعه کد به زبان‌های برنامه‌نویسی ++C و Python
الگوریتم ضرب استراسن
آشنایی با الگوریتم استراسن برای محاسبه‌ حاصلضرب ماتریس‌ها
الگوریتم‌های برنامه‌نویسی پویا
آشنایی با روش برنامه‌نویسی پویا (یا برنامه‌ریزی پویا، برنامه‌سازی پویا - Dynamic Programming) به عنوان یکی از روش‌های پر کاربرد طراحی الگوریتم برای حل بهینه مسائل با مثالی از محاسبه دنباله فیبوناچی
پیچیدگی زمانی اجرای الگوریتم
بررسی مفهوم پیچیدگی زمانی الگوریتم برای بررسی کارایی آن و مقایسه الگوریتم‌ها
الگوریتم جستجوی اول عمق (DFS)
معرفی الگوریتم جستجوی اول عمق (DFS) برای پیمایش گراف و کاربردهای آن به همراه قطعه کد به زبان برنامه‌نویسی ++C
الگوریتم جستجوی اول سطح (BFS)
معرفی الگوریتم جستجوی اول سطح (BFS) برای پیمایش گراف و کاربردهای آن به همراه قطعه کد به زبان برنامه‌نویسی ++C
الگوریتم‌های حریصانه
آشنایی با روش حریصانه و کاربردهای آن مانند مسئله خرد کردن پول
الگوریتم مرتب‌سازی ادغامی
آشنایی با روش مرتب‌سازی ادغامی با قطعه کدهایی به زبان‌های برنامه‌نویسی ++C و Python
دنباله اعداد کاتالان و محاسبه آن
آشنایی با دنباله عددی کاتالان، کاربردها و روش پیاده‌سازی آن به زبان برنامه‌نویسی ++C
محاسبه ضرایب دوجمله‌ای
بررسی روش‌های مختلف محاسبه ضرایب دوجمله‌ای نیوتن یا ترکیب دو عدد با قطعه کد به زبان برنامه‌نویسی ++C
الگوریتم مرتب‌سازی حبابی
آشنایی با روش مرتب‌سازی حبابی و بحث در مورد عملکرد آن، با قطعه کدها به زبان برنامه‌نویسی ++C و Python
ضرب زنجیره‌ای ماتریس‌ها
بحث در مورد ضرب زنجیره‌ای ماتریس‌ها و روش پیاده‌سازی الگوریتم پرانتزبندی بهینه آن با روش تقسیم و حل و روش برنامه‌نویسی پویا
الگوریتم‌های تقسیم و حل
آشنایی با تکنیک الگوریتم‌های Divide and Conquer (تقسیم و حل / تقسیم و غلبه) و کاربردهای آن در مرتب‌سازی، جستجو و حل مسائل الگوریتمی دیگر