الگوریتمستان

برنامه‌نویسی، طراحی الگوریتم و حل مسئله‌های الگوریتمی

 
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.
دوره‌ی طراحی و تحلیل الگوریتم دانشگاه استنفورد - الگوریتمستان
الگوریتمستان
  »  

دوره‌ی طراحی و تحلیل الگوریتم دانشگاه استنفورد

        ویدئوهای آموزشی دوره‌ی Algorithms: Design and Analysis دانشگاه استنفورد با زیرنویس انگلیسی
آنچه در این نوشته می‌خوانید:
   •  دوره‌ی طراحی و تحلیل الگوریتم دانشگاه استنفورد
       »  جلسه‌ی اول
       »  جلسه‌ی دوم
       »  جلسه‌ی سوم
       »  جلسه‌ی چهارم
       »  جلسه‌ی پنجم
       »  جلسه‌ی ششم
       »  جلسه‌ی هفتم
       »  جلسه‌ی هشتم
       »  جلسه‌ی نهم
       »  جلسه‌ی دهم
       »  جلسه‌ی یازدهم
       »  جلسه‌ی دوازدهم
       »  جلسه‌ی سیزدهم

ویدئوهای جلسات آموزشی طراحی و تحلیل الگوریتم پروفسور Tim Roughgarden دانشگاه استنفورد از طریق پیوندهای زیر قابل مشاهده است. در این دوره هر الگوریتم یا ساختمان داده‌ی بحث شده، همراه با  تحلیل، مثال‌های کاربردی یا جایگاه مورد نیاز آنها است.

  

جلسه‌ی اول

  [بازگشت به فهرست]

۱- چرا مطالعه‌ی الگوریتم؟

۲- ضرب اعداد صحیح

۳- الگوریتم ضرب Karatsuba

۴- درباره‌ی دوره

۵- مرتب‌سازی ادغامی (Merge Sort)

۶- مرتب‌سازی ادغامی - شبه کد

۷- مرتب‌سازی ادغامی- تحلیل

۸- اصول تحلیل الگوریتم‌ها

  

جلسه‌ی دوم

  [بازگشت به فهرست]

۱- تحلیل مجانبی الگوریتم

۲- نماد $O$

۳- مثال‌های تحلیل مجانبی

۴- نمادهای $\Omega$ و $\Theta$

۵- مثال‌های بیشتر

  

جلسه‌ی سوم

  [بازگشت به فهرست]

۱- الگوریتم از مرتبه‌ی $ O(n \; log \; n) $ برای مسئله‌ی Counting Inversions - بخش اول

۲- الگوریتم از مرتبه‌ی $ O(n \; log \; n) $ برای مسئله‌ی Counting Inversions - بخش دوم

۳- الگوریتم ضرب استراسن

۴- الگوریتم $ O(n \; log \; n) $ برای مسئله‌ی نزدیکترین زوج نقاط (Closest pair of points) - بخش اول

۵- الگوریتم $ O(n \; log \; n) $ برای مسئله‌ی نزدیکترین زوج نقاط (Closest pair of points) - بخش دوم

  

جلسه‌ی چهارم

  [بازگشت به فهرست]

۱- مقدمه‌ای بر قضیه‌ی اصلی تحلیل الگوریتم‌ها

۲- قضیه‌ی اصلی تحلیل الگوریتم‌ها

۳- مثال‌ها

۴- اثبات قضیه - بخش اول

۵- تفسیر حالت‌های مختلف قضیه‌ی اصلی

۶- اثبات قضیه - بخش دوم

  

جلسه‌ی پنجم

  [بازگشت به فهرست]

۱- مرتب‌سازی سریع (Quick Sort)

۲- تقسیم بر اساس محور

۳- درستی عملکرد الگوریتم مرتب‌سازی سریع

۴- انتخاب محور خوب در مرتب‌سازی سریع

  

جلسه‌ی ششم

  [بازگشت به فهرست]

۱- پیمایش گراف

۲- الگوریتم جستجوی اول سطح (BFS)

۳- الگوریتم BFS و یافتن کوتاهترین مسیر

۴- الگوریتم BFS و تشخیص وجود مسیر

۵- الگوریتم جستجوی اول عمق (DFS)

۶- الگوریتم مرتب‌سازی توپولوژیکی (Topological Sort)

۷- الگوریتم یافتن مولفه‌های قویا همبند

۸- تحلیل الگوریتم یافتن مولفه‌های قویا همبند

۹- ساختار وب

  

جلسه‌ی هفتم

  [بازگشت به فهرست]

۱- الگوریتم دایکسترا

۲- مثال از الگوریتم دایکسترا

۳- درستی عملکرد الگوریتم دایکسترا

۴- پیاده‌سازی الگوریتم دایکسترا

  

جلسه‌ی هشتم

  [بازگشت به فهرست]

۱- مقدمه‌ای بر ساختمان داده‌ها

۲- هیپ (کپه، Heap)

۳- پیاده‌سازی هیپ

  

جلسه‌ی نهم

  [بازگشت به فهرست]

۱- درخت جستجوی دودویی خودمتوازن

۲- درخت جستجوی دودویی (BST) - بخش اول

۳- درخت جستجوی دودویی (BST) - بخش دوم

۴- درخت قرمز سیاه (Red-Black Tree)

۵- چرخش در درخت قرمز-سیاه

۶- درج در درخت قرمز-سیاه

  

جلسه‌ی دهم

  [بازگشت به فهرست]

۱- جدول درهم‌ساز (Hash Tables)

۲- پیاده‌سازی جدول درهم‌ساز - بخش اول

۳- پیاده‌سازی جدول درهم‌ساز - بخش دوم

  

جلسه‌ی یازدهم

  [بازگشت به فهرست]

۱- Pathological Data Sets

۲- درهم‌سازی جهانی

۳- تحلیل عملکرد درهم‌سازی جهانی

۴- کارایی جدول درهم‌ساز در روش آدرس‌دهی باز

  

جلسه‌ی دوازدهم

  [بازگشت به فهرست]

۱- فیلتر بولوم (Bloom Filters)

۲- تحلیل مکاشفه‌ای فیلتر بولوم

  

جلسه‌ی سیزدهم

  [بازگشت به فهرست]

۱- مسیریابی در شبکه‌ی اینترنت

۲- هم‌ردیفی توالی (Sequence Alignment)

۳- مقدمه‌ای بر الگوریتم‌های حریصانه

۳- الگوریتم کدگذاری هافمن

۴- اصول الگوریتم‌های مبتنی بر برنامه‌نویسی پویا

۵- مسائل رده‌ی P و NP

۶- رویکرد الگوریتمی برای حل مسئله‌های NP-Complete

به اشتراک‌گذاری نوشته
اشتراک‌گذاری در LinkedIn     Cloob     اشتراک‌گذاری در Twitter     اشتراک‌گذاری در Facebook     ارسال با Telegram     Google Plus
امتیاز نوشته
  • 1
  • 2
  • 3
  • 4
  • 5

نام: *  

پست الکترونیک:

وبگاه:

متن پیام: *

01 02 03 04 05 06 07 08 09 10 11 12 13 14

 


الگوریتمستان در تلگرام

   

   

پیوند کوتاه: عمر نوشته:  ۳۹۹ روز
تعداد بازدید:  ۲۶۷۸ بازدید
تعداد امتیاز:  ۱ امتیاز
میانگین امتیاز:  ۵.۰۰  از  ۵.۰۰
»  مسئله‌ی Column Addition
        بررسی مسئله‌ی Column Addition، از سوالات مسابقه‌ی برنامه‌نویسی ACM-ICPC 2017 سایت تهران
»  کتاب راهنمای برنامه‌نویسان رقابتی
        معرفی کتاب Competitive Programmer's Handbook (راهنمای برنامه‌نویسان رقابتی) برای علاقه‌مندان به مباحث الگوریتم‌ها و شرکت‌کنندگان در مسابقات برنامه‌نویسی با امکان دانلود
»  راه حل سوالات مسابقه‌ی جهانی ACM-ICPC 2016
        راه حل سوالات مسابقه‌ی جهانی ACM-ICPC 2016
»  ویدئوهای آموزشی کلاس Programming Challenges
        ویدئوهای آموزشی کلاس Programming Challenges شامل مباحث الگوریتم‌ها، ساختمان داده‌ها و ریاضیات محاسباتی برای آمادگی مسابقات برنامه‌نویسی
»  کتاب الکترونیکی ساختمان داده‌ها
        معرفی کتاب آموزش الکترونیکی رایگان «ساختمان داده‌ها» به زبان فارسی با قابلیت دانلود
»  مسئله‌ی انتخابات
        بررسی مسئله‌ی انتخابات، از سوالات مسابقه‌ی برنامه‌نویسی ACM-ICPC 2016 سایت تهران
»  مسئله‌ی اعداد اردوش
        بررسی مسئله‌ی اعداد اردوش (Erdos Numbers) یا فاصله‌ی همکاری اردوش از سوالات آمادگی مسابقات برنامه‌نویسی موجود در کتاب Programming Challenges و وبسایت UVa Online Judge
»  دنباله‌ی اعداد فیبوناچی
        بررسی الگوریتم‌های محاسبه‌ی دنباله‌ی اعداد فیبوناچی و کارایی آنها
»  الگوریتم جستجوی اول عمق (DFS)
        معرفی الگوریتم جستجوی اول عمق (DFS) برای پیمایش گراف و کاربردهای آن به همراه قطعه کد به زبان برنامه‌نویسی ++C
»  الگوریتم دایکسترا
        آشنایی با الگوریتم دایکسترا برای یافتن کوتاهترین مسیر تک‌مبدأ در گراف وزن‌دار بدون یال منفی با قطعه کد به زبان ++C
»  کتاب طراحی الگوریتم با رویکردی خلاقانه
        معرفی کتاب Introduction to Algorithms: A Creative Approach
»  کتاب مقدمه‌ای بر الگوریتم‌ها
        معرفی کتاب Introduction to Algorithms (ویراست سوم) به عنوان مرجع مباحث طراحی الگوریتم‌ها و ساختمان داده‌ها
»  الگوریتم فلوید-وارشال
        آشنایی با الگوریتم فلوید-وارشال برای یافتن کوتاهترین مسیرهای گراف با قطعه کد نمونه به زبان برنامه‌نویسی ++C
»  ضرب زنجیره‌ای ماتریس‌ها
        بحث در مورد ضرب زنجیره‌ای ماتریس‌ها و روش پیاده‌سازی الگوریتم پرانتزبندی بهینه‌ی آن با روش تقسیم و حل و روش برنامه‌نویسی پویا