رفتن به محتوای اصلی
آکادمی
مقدماتی محلهٔ کد

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

Big O، جست‌وجو، مرتب‌سازی و ساختارهای پشت آن‌ها.

الگوریتم‌ها دستور پخت‌های پشتِ هر برنامه‌ی سریع‌اند و ساختمان‌های داده ظرف‌هایی هستند که این دستور پخت‌ها با آن‌ها کار می‌کنند. این مسیر ایده‌هایی را یادتان می‌دهد که از هر برنامه‌نویسی انتظار می‌رود بلد باشد: شمردن قدم‌ها با Big O، جست‌وجوی خطی و دودویی و انتخاب درست میان لیست، جدول هش، مجموعه، پشته و صف. بعد تابع بازگشتی و به‌خاطرسپاری می‌نویسید، می‌بینید مرتب‌سازی ادغامی چطور به n log n می‌رسد و یک شبکه‌ی دوستی را با جست‌وجوی اول سطح می‌پیمایید. ماژول آخر جلوتر می‌رود: درخت جست‌وجو، هیپ، برنامه‌ریزی پویا و کوتاه‌ترین مسیر با الگوریتم دایکسترا.

همه‌ی مثال‌ها کدهای کوتاه و قابل اجرای پایتون‌اند و روی داده‌های روزمره‌ی یک اپلیکیشن کار می‌کنند: امتیازها، نام‌های کاربری، جدول رده‌بندی و دوستان. برای شروع فقط پایتون پایه لازم است: متغیر، حلقه، تابع، لیست و دیکشنری.

درس
۱۴
زمان
۲ ساعت
سطح
مقدماتی
  • برنز باز
  • نقره باز
  • طلا قفل

آماده‌ای ثابتش کنی؟

سه آزمون منتظرند: برنز، نقره و طلا.

برو به آزمون‌ها

در پایان این مسیر می‌توانی

  • قدم‌های یک الگوریتم را بشمارید و رشد آن را با Big O توصیف کنید
  • با جست‌وجوی خطی و دودویی، بدون خطای off-by-one، داده پیدا کنید
  • ساختار درست را انتخاب کنید: لیست، دیکشنری، مجموعه، پشته یا صف
  • تابع بازگشتی بنویسید و با به‌خاطرسپاری و برنامه‌ریزی پویا سریعش کنید
  • توضیح دهید چرا مرتب‌سازی ادغامی O(n log n) است و داده‌ی واقعی را با sorted() مرتب کنید
  • یک شبکه را با جست‌وجوی اول سطح بپیمایید و با الگوریتم دایکسترا ارزان‌ترین مسیر را پیدا کنید

نقشهٔ مسیر

  1. ۱
    فصل ۱

    فکر کردن با قدم‌ها

    الگوریتم چیست، Big O چه می‌گوید و جست‌وجو در لیست، یکی‌یکی یا نصف‌به‌نصف.

    ۰ / ۴
  2. ۲
    فصل ۲

    ساختارهایی که کد را سریع می‌کنند

    جدول هش و مجموعه، پشته و صف، بازگشت، مرتب‌سازی و گراف.

    ۰ / ۶
  3. ۳
    فصل ۳

    فراتر از پایه

    درخت جست‌وجو، هیپ، برنامه‌ریزی پویا و کوتاه‌ترین مسیرها.

    ۰ / ۴

پیمایش سریع