الگوریتم و ساختمان داده
Big O، جستوجو، مرتبسازی و ساختارهای پشت آنها.
الگوریتمها دستور پختهای پشتِ هر برنامهی سریعاند و ساختمانهای داده ظرفهایی هستند که این دستور پختها با آنها کار میکنند. این مسیر ایدههایی را یادتان میدهد که از هر برنامهنویسی انتظار میرود بلد باشد: شمردن قدمها با Big O، جستوجوی خطی و دودویی و انتخاب درست میان لیست، جدول هش، مجموعه، پشته و صف. بعد تابع بازگشتی و بهخاطرسپاری مینویسید، میبینید مرتبسازی ادغامی چطور به n log n میرسد و یک شبکهی دوستی را با جستوجوی اول سطح میپیمایید. ماژول آخر جلوتر میرود: درخت جستوجو، هیپ، برنامهریزی پویا و کوتاهترین مسیر با الگوریتم دایکسترا.
همهی مثالها کدهای کوتاه و قابل اجرای پایتوناند و روی دادههای روزمرهی یک اپلیکیشن کار میکنند: امتیازها، نامهای کاربری، جدول ردهبندی و دوستان. برای شروع فقط پایتون پایه لازم است: متغیر، حلقه، تابع، لیست و دیکشنری.
- درس
- ۱۴
- زمان
- ۲ ساعت
- سطح
- مقدماتی
- برنز باز
- نقره باز
- طلا قفل
آمادهای ثابتش کنی؟
سه آزمون منتظرند: برنز، نقره و طلا.
در پایان این مسیر میتوانی
- قدمهای یک الگوریتم را بشمارید و رشد آن را با Big O توصیف کنید
- با جستوجوی خطی و دودویی، بدون خطای off-by-one، داده پیدا کنید
- ساختار درست را انتخاب کنید: لیست، دیکشنری، مجموعه، پشته یا صف
- تابع بازگشتی بنویسید و با بهخاطرسپاری و برنامهریزی پویا سریعش کنید
- توضیح دهید چرا مرتبسازی ادغامی O(n log n) است و دادهی واقعی را با
sorted()مرتب کنید - یک شبکه را با جستوجوی اول سطح بپیمایید و با الگوریتم دایکسترا ارزانترین مسیر را پیدا کنید
نقشهٔ مسیر
۱ فصل ۱فکر کردن با قدمها
الگوریتم چیست، Big O چه میگوید و جستوجو در لیست، یکییکی یا نصفبهنصف.
۰ / ۴۲ فصل ۲ساختارهایی که کد را سریع میکنند
جدول هش و مجموعه، پشته و صف، بازگشت، مرتبسازی و گراف.
۰ / ۶۳ فصل ۳فراتر از پایه
درخت جستوجو، هیپ، برنامهریزی پویا و کوتاهترین مسیرها.
۰ / ۴