نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره:
یک تور راهنمای مقدماتی به زمینه ساختارهای داده ، الگوریتم ها و تجزیه و تحلیل پیچیدگی. این دوره با تعداد زیادی مثال عملی همراه است و به جای فرمول ها و اثبات های ریاضی ، روی شهود تمرکز دارد. عبارت "عملکرد عالی را به صورت رایگان دریافت کنید!" به نظر می رسد یک نقل قول از تجارت بد ، اما وقتی صحبت از الگوریتم ها و ساختارهای داده می شود ، ممکن است در واقع چنین باشد. این دوره مقدماتی نشان می دهد که چگونه استفاده از ساختارهای متداول داده ممکن است عملکرد راه حل های مشکلات برنامه نویسی روزمره زندگی واقعی را ساده و حتی به طور قابل توجهی تحت تأثیر قرار دهد. این دوره بیننده را به آرامی برای "تجزیه و تحلیل پیچیدگی" معرفی می کند که امکان مشاهده یک برنامه با عملکرد ضعیف (و عالی) را حتی بدون نیاز به اجرای آن فراهم می کند. تجزیه و تحلیل پیچیدگی یک ابزار یا "زبان" ارزشمند برای بحث در مورد عملکرد با همکاران است - و حتی دشوار نیست. پس از پرداختن به متداول ترین ساختارهای داده ، این دوره به شرح برخی از استراتژیهای کلی (الگوریتم ها) برای حل موثر مشکلات سطح بالاتر ادامه می دهد. مانند ساختار داده ها ، نشان داده شده است که چگونه یک انتخاب دقیق استراتژی حل مسئله می تواند به طور چشمگیری زمان محاسبه را کاهش دهد. قسمت آخر دوره کمی تمرکز را جابجا می کند و به زودی چند موضوع نظری مشهور را تحریک می کند و در یک سطح کاملاً شهودی توضیح می دهد که کلاسهای پیچیدگی P ، NP و مسئله معروف P = NP چیست.
سرفصل ها و درس ها
مقدمه ای بر الگوریتم ها
Introduction to Algorithms
-
استراتژی ها مهم هستند
Strategies Matter
اندازه گیری کارایی
Measuring Performance
-
مقدمه
Introduction
-
عملکرد مجانبی
Asymptotic Performance
-
تتا بزرگ
Big Theta
-
بزرگ
Big O
-
امگا بزرگ
Big Omega
-
روشهای بازگشتی
Recursive Methods
-
پیچیدگی استهلاک شده
Amortized Complexity
-
درس های آموخته شده
Lessons Learned
سازماندهی کارآمد داده ها با ساختارهای رایج داده
Organizing Data Efficiently with Common Data Structures
-
مقدمه
Introduction
-
آرایه های پویا
Dynamic Arrays
-
لیست های پیوند داده شده
Linked Lists
-
صف های اولویت دار
Priority Queues
-
میزهای هش
Hash Tables
-
درس های آموخته شده
Lessons Learned
با استفاده از الگوریتم های مشترک ، روی داده ها به طور کارآمد کار می کنید
Operating on Data Efficiently with Common Algorithms
-
مقدمه
Introduction
-
پیمایش نمودار
Graph Traversal
-
Brute Force و الگوریتم های حریص
Brute Force and Greedy Algorithms
-
تفرقه بینداز و حکومت کن
Divide and Conquer
-
برنامه نویسی پویا 1
Dynamic Programming 1
-
برنامه نویسی پویا 2
Dynamic Programming 2
-
شعبه و مقید
Branch and Bound
-
درس های آموخته شده
Lessons Learned
نگاه به جلو به برخی از مشکلات بسیار سخت است
Looking Ahead to Some Very Hard Problems
-
مقدمه
Introduction
-
اندازه ورودی در بیت
Input Size in Bits
-
P در مقابل NP 1
P vs. NP 1
-
P در مقابل NP 2
P vs. NP 2
-
الگوریتم های ابتکاری و تقریب
Heuristics and Approximation Algorithms
-
درس های آموخته شده
Lessons Learned
نمایش نظرات