حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
← بازگشت به دوره‌ها
دوره رایگان 40 گام یادگیری آموزش تعاملی

آموزش الگوریتم و حل مسئله با پایتون؛ تمرین عملی

جست‌وجو، مرتب‌سازی و روش‌های حل مسئله با پایتون رو قدم‌به‌قدم تمرین کن و در پایان، یک برنامه رتبه‌بندی مسابقه بساز.

مشاهده مسیر یادگیری
آموزش الگوریتم و حل مسئله با پایتون؛ تمرین عملی

این دوره به درد کی می‌خوره؟

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

چه چیزهایی یاد می‌گیری؟

می‌بینی یک راه‌حل چقدر کار انجام می‌ده. جست‌وجوی خطی و دودویی، استفاده از دیکشنری، روش دو اشاره‌گر، پنجره متحرک، مجموع پیشوندی و مرتب‌سازی با چند معیار رو با مثال ساده تمرین می‌کنی. هر اصطلاح تازه همون‌جا توضیح داده می‌شه.

آخر دوره چی می‌سازی؟

برنامه‌ای که نتیجه‌های یک مسابقه رو می‌گیره و شرکت‌کننده‌ها رو با تعداد مسئله‌های حل‌شده و زمان مرتب می‌کنه. برای امتیازهای مساوی هم قانون روشن داریم.

چطور تمرین می‌کنی؟

۴۰ گام رایگان در ۸ بخش داریم؛ از حدس‌زدن خروجی تا پیدا کردن باگ و نوشتن راه‌حل. هر تمرین چند نمونه، راهنمای مرحله‌ای و توضیح پاسخ داره.

پیش‌نیازها

اول دوره «درک برنامه‌نویسی، بخش دوم» را کامل کن؛ باید بتوانی با تابع، حلقه، شرط، فهرست و دیکشنری پایتون کار کنی.

دستاورد پایان دوره

حل‌کننده مسئله

بج پایان دوره: حل‌کننده مسئله

با تکمیل گام‌های الزامی دوره

آماده یادگیری هستید؟

شروع این دوره نیاز به تکمیل پیش‌نیازها دارد

مطالعهٔ همهٔ گام‌ها آزاد است. برای انجام فعالیت‌ها وارد حساب کاربری شوید تا وضعیت پیش‌نیازهای شما بررسی شود.

برای بررسی پیش‌نیازها وارد شوید

مسیر یادگیری

40 گام

تحلیل الگوریتم در پایتون؛ از قرارداد تا شمارش عملیات رایگان

  1. قرارداد ورودی و خروجی الگوریتم در پایتون
  2. ردگیری حلقه پایتون؛ پیش‌بینی مقدار جمع و شمارنده
  3. شمارش عملیات خطی O(n) در پایتون
  4. رفع خطای شمارش زوج‌ها و رشد O(n²) در پایتون
  5. مقایسه راه‌حل خطی و درجه دوم با پایتون

جست‌وجوی خطی و دودویی در پایتون؛ قرارداد و مرزها رایگان

  1. جست‌وجوی خطی پایتون؛ پیدا کردن اولین شاخص
  2. پیش‌بینی جست‌وجوی ناموفق پایتون؛ جای درست return
  3. پیش‌نیاز جست‌وجوی دودویی پایتون؛ بررسی ترتیب صعودی
  4. رفع خطای مرز آخر در جست‌وجوی دودویی پایتون
  5. پیاده‌سازی جست‌وجوی دودویی اولین رخداد در پایتون

دیکشنری پایتون برای حل مسئله؛ فراوانی و مجموع دو عدد رایگان

  1. دیکشنری فراوانی پایتون؛ استفاده از شمارش در الگوریتم
  2. اولین عضو یکتا در پایتون؛ ترتیب ورودی یا ترتیب الفبا
  3. پیدا کردن اولین رشته یکتا با دیکشنری پایتون
  4. رفع باگ مجموع دو عدد پایتون؛ استفاده دوباره از یک شاخص
  5. حل سریع Two Sum با دیکشنری پایتون و شاخص‌های دقیق

الگوی دو اشاره‌گر در پایتون؛ دو سر فهرست و حذف تکرار رایگان

  1. دو اشاره‌گر پایتون؛ حرکت از دو سر ورودی
  2. پیش‌بینی بررسی متن قرینه با دو اشاره‌گر پایتون
  3. مجموع دو عدد مرتب با دو اشاره‌گر در پایتون
  4. رفع خطای مرزی تابع palindrome در پایتون
  5. حذف تکرار فهرست مرتب با دو اشاره‌گر پایتون

پنجره لغزان در پایتون؛ جمع بازه ثابت و مقدارهای منفی رایگان

  1. مفهوم Sliding Window در پایتون؛ بازه‌های پیوسته ثابت
  2. اولین پنجره ثابت پایتون؛ پیش‌بینی برش و جمع
  3. جمع همه پنجره‌های ثابت با افزودن و کم کردن در پایتون
  4. رفع خطای طول نامعتبر پنجره لغزان در پایتون
  5. بیشترین جمع پنجره ثابت در پایتون؛ ورودی تماماً منفی

جمع پیشوندی در پایتون؛ پرس‌وجوی بازه بدون دوباره‌کاری رایگان

  1. ساخت Prefix Sum در پایتون؛ صفر ابتدایی و مجموع تجمعی
  2. پیش‌بینی جمع بازه با Prefix Sum پایتون
  3. تفاوت شاخص و تعداد در ساخت جمع پیشوندی پایتون
  4. رفع باگ بازه از صفر در جمع پیشوندی پایتون
  5. پاسخ به چند پرس‌وجوی جمع بازه با پایتون

مرتب‌سازی سفارشی پایتون؛ key و ترتیب پایدار رایگان

  1. مرتب‌سازی صعودی و نزولی پایتون با sorted
  2. پیش‌بینی key در مرتب‌سازی پایتون؛ ترتیب بر اساس طول
  3. مرتب‌سازی بدون تغییر ورودی با key در پایتون
  4. رفع باگ تساوی پایدار در مرتب‌سازی امتیاز پایتون
  5. مرتب‌سازی دو معیاره پایتون؛ امتیاز نزولی و زمان صعودی

پروژه رتبه‌بندی مسابقه با پایتون؛ جدول نتیجه بدون تغییر ورودی رایگان

  1. رکورد شرکت‌کننده مسابقه در پایتون؛ نام و تعداد حل
  2. رتبه‌بندی مسابقه پایتون؛ تعداد حل نزولی
  3. رفع باگ جریمه مسابقه در مرتب‌سازی دو معیاره پایتون
  4. انتخاب برترین‌های مسابقه با پایتون؛ تساوی پایدار
  5. پروژه نهایی الگوریتم پایتون؛ ساخت تابع rank_players