بیرجند لاگی ها توی روز برنامه نویس یه چلنج باحال دیگه داشتن: چلنج فشرده سازی!

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

اگر من بخوام بازی کنم اول آنتروپی و چند تا فاکتور دیگه رو تست می کنم. بخصوص با برنامه ent تا ببینم این فایل اصولا چقدر دیتا داره. یه فایل رندوم چندان قابل فشرده سازی نیست.

بعدش سعی می کنم ایده های خیلی بیسیک فشرده سازی رو پیاده کنم. مثل آر ال ای و هافمن.

برای یادگیری بگم که توی آر.ال.ای، اگر ۵ تا A پشت هم هست ممکنه بتونین بنویسین 5A. معلومه که چند تا مشکل ریز داریم که باید حلش کنین.

توی هافمن یه بار متن رو می بینیم و ترکیب های تکراری رو توش پیدا می کنیم، بعد اینها رو کد گذاری می کنیم و سعی می کنیم هر موردش رو با کدش جایگذاری کنیم و این چیزها.

این ها مسائل جالبی هستن و چیزهای باحالی بهتون یاد می دن؛ پس اگر می خواین بازی کنین معما اینجاست:

https://github.com/birlug/256

البته معلومه که سطح چنین چیزی در رده متوسط است ولی اتفاقا مسائل رده متوسط خوبیشون اینه که اگر شما تازه کار هستین، بهتون ایده می ده چطوری شروع کنین و از اونطرف بررسی کنین بقیه چیکار کردن.

و مرسی از بچه های بیرجندلاگ که مدت ها است گاه گداری مسائلی واقعا جالب برامون مطرح کردن. منم چند ساعت دیگه اگر فرصت کنم تست می کنم و جواب های شما رو هم می بینم که لذت ببرم.