کافیه ۳ واحد الگوریتم یا درسهای مرتبط با الگوریتم رو پاس کردهباشید، یا نه... کافیه در حد دو سه جلسه، سر کلاس الگوریتم یا درسی که با الگوریتم مرتبطه رفته باشید تا بدونید یکی از اولین کارها تو این شاخه، حساب کردن حالت extreme عه. یعنی میاید بدترین و بهترین حالت ممکن رو برای یه الگوریتم در نظر میگیرید و بعد با یه روشهایی محاسبه میکنید که این الگوریتم به طور متوسط تو چه زمانی اجرا میشه یا چقدر حافظه اشغال میکنه و از این حرفا.
بذارید یه مثال ساده هم بزنم. مثلا فرض کنید ۱۰ تا عدد رندم دارید که باید از کوچیک به بزرگ مرتبشون کنید. فرض کنید این عددها توی یه صف پشت سر هم ایستادن. توی یکی از الگوریتمهای مرتبسازی، شما از اول صف شروع میکنید. عدد اول رو برمیدارد و با عدد بعدی مقایسهش میکنید. اگه از عدد کناریش بزرگتر بود، دو تا عدد رو با هم جابهجا میکنید. اون قدر این کار رو ادامه میدید که و این عدد رو جلو میبرید تا دیگه از عدد کناریش بزرگتر نباشه. بعد برمیگردید اول صف و همین کار رو با عدد بعدی انجام میدید. ( تو این لینک دو دقیقهای میتونید ببینید چه اتفاقی میفته)
حالا حالتهای extreme چیه؟ بهترین حالت اینه که اعداد رندمیکه داشتیم، خود به خود مرتب بودهباشن از اول. این جوری شما اصلا لازم نیست کاری بکنید. در واقع هیچ عملیاتی لازم نیست انجام بدین و هیچ عددی رو لازم نیست جابهجا کنید. بدترین حالت چیه؟ این که عددای شما از بزرگ به کوچیک مرتب شده باشن. یعنی تک تک عددهاتون باید چند بار جابهجا بشن تا به اون جایی که مد نظر شماست برسن.
البته احتمال این که هر کدوم از این دو حالت اتفاق بیفته خیلی کمه. اما در نظر گرفتنشون تو محاسبات به ما کمک میکنه.
همهی اینا رو گفتم که به کجا برسم؟ به این که دیروز داشتم به حالتهای extremeای که ممکنه برامون اتفاق بیفته فکر میکردم. بهترین حالت چیه؟ این که واقعا با گرم شدن هوا کرونا متوقف بشه یا درمانش به همین زودیها پیدا بشه و مسئولینمون هم سر عقل بیان و عوض این که خودشون فرتفرت برن آزمایش بدن، تلاششون بر این باشه که مردم معمولی هم مراقبتهای لازم رو دریافت کنن و خوب بشن و تعداد فوتیها از این بیشتر نشه.
بدترین حالت چیه؟ روزی که بالاخره این دوره تموم بشه، دو گروه باشیم. گروهی که نتونستن در برابر بیماری مقاومت کنن و از این دنیا رفتن و گروهی که باید تا آخر عمر داغ همهی رفتههاشون رو تحمل کنن و در کنارش تا مدتها وسواس هم دارن.
گفتم که این مدل تفکر و در نظر گرفتن حالتهای extreme تو محاسبات الگوریتمیبه ما خیلی کمک میکنه. مخصوصا این که احتمال پیش اومدن بدترین حالت و بهترین حالت معمولا یه اندازهس. اما... مشکل اینجاست که من هر قدر هم میخوام خوشبین باشم، نمیتونم احتمال دو تا حالت بالایی رو یه اندازه در نظر بگیرم و اون کفهای که حاوی بدترین حالته، به نظرم خیلی سنگینتره.
به غیر از این، چیزی که اذیتم میکنه اینه که واقعا کاری از دستمون برنمیاد. نهایتا با تو خونه نشستن میتونیم فقط به خانوادههای خودمون کمک کنیم که مریض نشن. نه برای اون بنده خداهایی که مجبورن برن سر کار و مدام در معرض خطر هستن کاری از دستمون برمیاد، نه برای اونایی که این مریضی و خونه نشینی مردم کار و بارشون رو تعطیل کرده.
فکر کردن به شرایطی که داریم یا در آینده خواهیم داشت به شدت اذیتم میکنه و کلا تمرکز ندارم که بخوام به هیچ چیز دیگهای فکر کنم یا کار مفیدی انجام بدم. روزها همین طور داره میگذره و من واقعا نمیدونم چی کار باید بکنم.
+ شما چی کار میکنید برا داشتن تمرکز؟
* توضیح عنوان: اون مدل مرتبسازی که توضیح دادم اسمش «bubble sort» یا «مرتبسازی حبابی» هست.