پرش به مطلب اصلی

ورود به دنیای الگوریتم

آرمان طهماسبی‌زاده
آرمان طهماسبی‌زاده
کارشناسی ۱۴۰۲

شاید تو هم بعد از خوندن متن بالا علاقه‌مند شده باشی تا تو مسیر گرایش الگوریتم و محاسبات قدم بذاری و چالش‌های اون رو مزه کنی. قطعاً همون‌طور که توی متن هم توسط ریش‌سفید بزرگ این حوزه، آشمز گرامی، اشاره شده بود، بهترین روش شرکت در مسابقات برنامه‌نویسی رقابتیه، مثل ICPC. با این‌که معمولاً اساتید دروس الگوریتمی، مثل ساختمان داده و طراحی الگوریتم‌ها، برای شرکت در این مسابقه نمرهٔ امتیازی در نظر می‌گیرن، اما همچنان ممکنه که احساس کنی در رقابت با المپیادی‌هایی که سال‌ها شرکت در این مسابقات رو تمرین کردن، شانسی نداری. در این صورت سه تا توصیه دارم:

اول این‌که نترس دوست من؛ المپیادی‌ها اون‌قدری که فکر می‌کنی هم از فضا نمیان. قیافهٔ من رو ببین. به نظرت در دنیای واقعی چقدر می‌تونم ترسناک باشم؟ تا وقتی خودت از بقیه غول نسازی، بقیه برای تو غول نمی‌شن.

دوم این‌که، راه پیشرفت همیشه تمرینه. خبر خوب اینه که این حوزه به‌دلیل ذات رقابتی خودش، بهترین بسترهای تمرین و شرکت در مسابقات رقابتی واقعی رو داره که از اون‌ها می‌شه به codeforces اشاره کرد. سرچ کن، اکانت بساز، دو تا سؤال ساده بردار و شروع کن فکر کردن. یادت نره، باید در حل مسئله استمرار زیادی داشته باشی.

اگر بعد از این دو مورد بالا، باز هم احساس کمبود می‌کردی، راه حل سوم خوراک خودته: رویداد کدوکدیل. این رویداد که دو دوره‌ای هست برگزار شده و به برگزاری دورهٔ سوم خودش نگاه می‌کنه، طراحی شده تا بستر خوبی برای علاقه‌مندان به حوزهٔ مسابقات رقابتی الگوریتمی بسازه. یکی از خصوصیت‌های ویژهٔ این مسابقه هم تفکیک شرکت‌کننده‌ها به سه دستهٔ متفاوته: المپیادی‌ها، دانش‌آموزا و غیرالمپیادی‌ها. احتمالاً از وقتی این شماره رو بخونی تا برگزاری رویداد، یکی دو ماهی وقت داشته باشی که پیشنهاد می‌کنم تمرین رو شروع کنی و حتماً توی این رویداد مفرح هم شرکت کنی.

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