Перейти к содержимому

دو الگوریتم قدرتمند مرتب‌سازی | 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 الگوریتم‌های قدرتمندتری طراحی کرد.