دونوع الگوریتم فشرده سازی داریم
1-lossy
2-lossless
---------------------------------------------
1-lossy
با این نوع الگوریتم ها هنگامی که فشرده میکنیم کمی داده را موقعی که دیکریپت میکنیم از دست میدهیم با یه مثال توضیح میدم که بیشتر بفهمید
اگر مثلا تابع(f(x یک الگوریتم فشرده سازی باشه اگر (f(x بیت پنجم بشه 7.777777 به طور اتوماتیک به عدد 8 رند میشود
در نتیجه گم شدن داده داریم حالا این الگوریتم به چه دردی میخوره این الگوریتم ها برای فشرده سازی فایل های مدیا مانند فیلم ، عکس و آهنگ و.... استفاده میشه و دستمون بازه توی فشرده کردن و هرچی بخوایم میتونیم فشرده کنیم اما به تبع از دست دادن داده بیشتر میشه در نتیه کیفیت پایین میآید اما با این الگوریتم مثلا نمیشه یه فایل exe را فشرده کرد جون دیگه اجرا نمیشه از الگوریتم های lossy میشه الگوریتم پیشرفته wavelet رو مثال زد
2-lossless
در مقابل این الگوریتم وجود دارد که داده ها را دقیقا حفظ میکند این الگوریتم ها بیشتر بر اساس گرفتن دیکشنری درست میکنند اینجوری بگم مثلا شما متن abac abafd abafe abaff abafg abafh abafi abafj abafk abafl را دارین برنامه میاد توی دیکشنریش abaf رو میذاره و با 1 عوض میکنه حال متن میشه این abac1d1e1f1g1h1i1j1k1l البته این یک نوع ساده بیده بیده
این الگوریتم را بیشتر برای فایل های اجرایی یا داکیومنت ها بکار میروند و فشرده سازی در این روش محدود و بسته به فایل متغییر است مثلا من فایل 4 گیگی دیدم که بعد از فشرده سازی با این نوع الگوریتم تبدیل به 36 مگ شده و همینطور فایل 20846 کیلوبایتی دیدم که بعد از فشرده سازی تبدیل شده به 20840 و تغییر محسوسی نکرده و یا برعکس حجم فایل 10 کیلو هست بعد از فشرده سازی شده 13 کیلو یعنی بیشتر شده از جمله این الگوریتم ها میشه به xz میشه اشاره کرد
اگر خواستید بگید تا بیشتر توضیح دهم چون بحث خیلی گسترده ای است
~~~~Fire360Boy~~~~