این دوره در مورد الگوریتمهای پیشرفته (الگوریتمهای گراف) با تمرکز بر پیمایش نمودار، مشکلات کوتاهترین مسیر، درختهای پوشاننده و مشکلات حداکثر جریان و بسیاری از کاربردهای آن از Google Web Crawler برای استفاده از موقعیتهای آربیتراژ بازار سهام است.
بخش 1 - مبانی نظریه نمودارها:
گراف G(V,E) چیست
نمایش ماتریس مجاورت
نمایش فهرست مجاورت
بخش 2 - پیمایش نمودار (جستجوی عرض-اول)
جستجوی وسعت اول چیست؟
چگونه از BFS برای WebCrawling در موتورهای جستجو استفاده کنیم؟
بخش 3 - پیمایش نمودار (جستجوی عمق-اول)
جستجوی اول عمق چیست؟
نحوه استفاده از بازگشت برای اجرای DFS
کاربردهای DFS مانند ترتیب توپولوژیکی و تشخیص چرخه
با DFS راهی برای خروج از پیچ و خم پیدا کنید
بخش 4 - ترتیب توپولوژیکی
ترتیب توپولوژیکی چیست (مرتب سازی توپولوژیکی)
نمودارهای غیر چرخه ای جهت دار (DAG)
کوتاه ترین و طولانی ترین مسیر DAG
روشهای مسیر بحرانی و مدیریت پروژه
بخش 5 - تشخیص چرخه
چرخه ها در یک نمودار چیست؟
لبه های جلو و لبه های عقب
الگوریتمهای تشخیص چرخه (الگوریتم تارجان با DFS)
بخش 6 - الگوریتم کوتاهترین مسیر Dijkstra
کوتاه ترین مسیر در گراف G(V,E) چیست
الگوریتم کوتاهترین مسیر Dijkstra
بخش 7 - الگوریتم کوتاهترین مسیر بلمن-فورد
الگوریتم بلمن-فورد
نحوه مدیریت چرخه های منفی
پیدا کردن فرصت های آربیتراژ در FOREX
بخش 8: - درختان پوشاننده (الگوریتم های کروسکال و پریم)
درختان پوشا چیست؟
ساختارهای داده اتحاد یافتن
الگوریتم کروسکال
الگوریتم پریم
بخش 9 - مؤلفههای متصل قوی (SCC)
اجزای قوی مرتبط
الگوریتم کوساراجو
الگوریتم تارجان
بخش 10 - مشکل حداکثر جریان
مشکل معروف جریان حداکثر
نحوه کاهش بیشتر مشکلات سخت به حداکثر مشکل جریان
الگوریتم فورد-فولکرسون
مشکل تطبیق دو بخشی
بخش 9 - مسئله فروشنده دوره گرد و چرخه های همیلتونی:
مشکل فروشنده دوره گرد (TSP)
نحوه برخورد با مشکلات NP-hard
متا ابتکاری چیست
بخش 10 - مسیرهای اویلری
مسیرهای اولری و چرخه های اویلری
الگوریتم هیرهولزر و مشکل پستچی چینی
بخش 11 - تجزیه و تحلیل الگوریتم ها
نحوه اندازه گیری زمان اجرای الگوریتم ها
تحلیل زمان اجرا با نمادهای O بزرگ (ordo)، Ω بزرگ (امگا) و θ بزرگ (تتا)
کلاس های پیچیدگی
الگوریتم های چند جمله ای (P) و چند جمله ای غیر قطعی (NP)
O(1)، O(logN)، O(N) و چندین پیچیدگی زمان اجرا دیگر
این دوره تقریباً ۱۱ ساعت طول میکشد، اما من به شما پیشنهاد میکنم این الگوریتمها را چندین بار تایپ کنید تا درک خوبی از آن داشته باشید. شما می توانید کد منبع کل دوره را در آخرین سخنرانی دانلود کنید.
اگر به موضوعات پیشرفته در مورد الگوریتم علاقه دارید، حتماً باید این دوره را بگذرانید. دسته ای از زمینه ها وجود دارد که می توان از این روش ها استفاده کرد: از مهندسی نرم افزار تا تحقیقات علمی.
از اینکه به دوره پیوستید متشکریم، بیایید شروع کنیم!
مهندس نرم افزار
نمایش نظرات