دو الگوریتم قدرتمند مرتبسازی | Merge Sort و Quick Sort
Data2Discovery
0:00 / 0:00
دو الگوریتم قدرتمند مرتبسازی | Merge Sort و Quick Sort
17 просмотров · 10 дн. назад
Data2Discovery
119 подписчиков
17 просмотров · 10 дн. назад
در این جلسه با یکی از مهمترین ایدهها در طراحی الگوریتم یعنی Divide and Conquer (تقسیم و حل) آشنا میشویم.
ایده اصلی Divide and Conquer این است که یک مسئله بزرگ را به مسائل کوچکتر تقسیم کنیم، آنها را حل کنیم و در نهایت جوابها را با یکدیگر ترکیب کنیم.
سپس این ایده را روی دو الگوریتم مهم مرتبسازی بررسی میکنیم:
🔹 Merge Sort — مرتبسازی ادغامی
🔹 Quick Sort — مرتبسازی سریع
در این جلسه علاوه بر درک نحوه عملکرد این الگوریتمها، پیادهسازی آنها را در Python بررسی میکنیم و درباره پیچیدگی زمانی آنها و تفاوت عملکردشان صحبت میکنیم.
در این جلسه یاد میگیرید:
✅ مفهوم Divide and Conquer و سه مرحله اصلی آن را درک کنید.
✅ یک مسئله را به زیرمسئلههای کوچکتر تقسیم کنید.
✅ نحوه عملکرد Merge Sort را مرحلهبهمرحله دنبال کنید.
✅ Merge Sort را در Python پیادهسازی کنید.
✅ نحوه انتخاب Pivot و عملکرد Quick Sort را درک کنید.
✅ Quick Sort را در Python پیادهسازی کنید.
✅ پیچیدگی زمانی Merge Sort و Quick Sort را بررسی و مقایسه کنید.
✅ تفاوت عملکرد این دو الگوریتم را بهتر درک کنید.
مباحث این جلسه:
00:00 مقدمه
00 ایده Divide and Conquer
00 سه مرحله: Divide → Conquer → Combine
00 Merge Sort چیست؟
00 اجرای مرحلهبهمرحله Merge Sort
00 پیادهسازی Merge Sort در Python
00 پیچیدگی زمانی Merge Sort
00 Quick Sort چیست؟
00 مفهوم Pivot و Partition
00 پیادهسازی Quick Sort در Python
00 پیچیدگی زمانی Quick Sort
00 Merge Sort در مقابل Quick Sort
00 جمعبندی
📌 این ویدئو جلسه سوم از مجموعه ساختمان داده و تحلیل الگوریتم است.
در جلسات قبل با تحلیل پیچیدگی زمانی و الگوریتمهای مرتبسازی سادهتر آشنا شدیم و در این جلسه یک قدم جلوتر میرویم و میبینیم چطور میتوان با ایده Divide and Conquer الگوریتمهای قدرتمندتری طراحی کرد.