پیاده سازی الگوریتم کد هافمن با سی
|
||||||||||||
توضیحات : پیاده سازی الگوریتم کد هافمن درعلوم کامپیوتر و تئوری اطلاعات، کدگذاری هافمن یک الگوریتم کدگذاری برای فشردهسازی بیاتلاف اطلاعات است. این تعبیر بر میگردد به استفاده از جدول کدطول متغیر برای کد کردن هر کدام از نشانههای مبدا (مانند نویسههای یک پرونده). جدول کد طول متغیر از روشی بخصوص مبنی بر احتمال وقوع هر کدام از نشانهای مبدا بدست میآید. این روش بوسیلهٔ دیویدهافمن توسعه یافت. وی دانشجوی دورهٔ دکتری در دانشگاه MIT بود و در سال ۱۹۵۲ مقالهٔ «روشی برای تولید کدی با کمترین تکرار زوائد» را منتشر کرد. در کدگذاری هافمن، از روشی خاص برای انتخاب نحوهٔ نمایش هر نماد استفاده میشود. روشی به نام کدهای بدون پیشوند (گاهی هم روش «کدهای پیشوندی» گفته میشود. یعنی در این روش رشتهای که نشان دهندهٔ یک نویسه خاص است هیچ گاه پیشوند رشتهٔ دیگر که نمایانگر نویسهٔ دیگر است، نمیباشد.). در این روش نویسههای پرکاربردتر با رشتههای بیتی کوتاهتری نسبت به آنهایی که کاربردشان کمتر است، نشان داده میشوند. هافمن موفق شد کارآمدترین روش فشرده سازی از این نوع را طراحی کند: نگاشت نکردن نشانهای منفرد مبدا به رشتههای بیتی یکتا، هرگاه تعداد تکرار نمادهای اصلی با آنهایی که برای ایجاد این کد مورد استفاده قرار گرفتند مطابقت کند، خروجیهایی با اندازهٔ کمتر تولید میکند. بعدها روشی برای انجام این کار پیدا شد که این کار را در زمانی خطی انجام میداد. برای مجموعهای از نمادها با توزیع احتمالی یکنواخت و تعداد عضوهایی برابر با توانی از۲، کد گذاری هافمن هم ارز با قطعهکدسادهٔ دوجملهای است. مانند کد گذاری اسکی. کد گذاری هافمن روشی متداول برای ایجاد کدهای بدون پیشوند است بطوریکه عبارت «کد هافمن» به گستردگی به عنوان مترادفی برای «کد بدون پیشوند» استفاده میشود، هرچند چنین کدی با الگوریتم هافمن بدست نیامده باشد. پیاده سازی برنامه کد گذاری و رمزگشایی Encode & Decode توسط الگوریتم هافمن همراه با فایلهای EXE , C == تصویری از محیط فایل اجرایی این پروژه : در تصویر اول مشاهده می کنید که ابتدا یک فایل متنی را جهت فشرده سازی و کدینگ معرفی نموده ایم و خروجی را نیز تعیین کرده ایم : در تصویر دوم برای خارج نمودن فایل کد شده بروش هافمن مراحل را مشاهده می کنید : مشاهده بخشهایی از سورس کد این پروژه :
دانلود کامل پروژه همراه با فایل سورس کد و فایل اجرایی آن پذیرش و انجام سفارشات پروژه های شما |
توجه مهم :
*دوست عزیز در صورت نداشتن رمز پویا یا قطع بودن درگاه بانکی ، لطفا نام پروژه درخواستی خود را جهت هماهنگی برای دریافت شماره کارت واریزی و دریافت لینک دانلود، به واتساپ پشتیبانی سایت ۰۹۳۹۲۷۶۱۶۳۰ ارسال کنید *(از ساعت ۸ الی ۲۳)
دیدگاهتان را بنویسید