تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

الگوریتم هافمن HUFFMAN در سی شارپ #C

هزینه سفارش:

۱۱۹,۰۰۰ تومان

روز
ساعت
دقیقه
ثانیه
دریافت کد تخفیف با گردونه شانس %
تعداد فراگیر
292 نفر
امتیاز کاربران
امتیاز 5.00 از 5

الگوریتم هافمن Huffman یکی از الگوریتم‌های فشرده سازی می‌باشد که این روش بوسیلهٔ دیوید هافمن توسعه یافت. در الگوریتم هافمن با توجه به تکرار کارکترها کد باینری به آن‌ها تعلق می‌گیرد بدین صورت که برای کاراکترهای با تعداد تکرار بالا کدهای کوتاه و برای کاراکترهای با تکرار کم کدهای با طول بالا. این شیوه در نهایت منجر به ایجاد ساختاری از بیت‌ها برای ذخیره سازی می‌شود که فضای کمتری را نسبت به روش‌های معمولی اشغال می‌کند.

در این بخش سورس کد پروژه الگوریتم هافمن HUFFMAN در سی شارپ #C قرار داده شده است. الگوریتم هافمن Huffman یکی از الگوریتم‌های فشرده سازی می‌باشد که این روش بوسیلهٔ دیوید هافمن توسعه یافت. وی دانشجوی دورهٔ دکتری در دانشگاه MIT بود و در سال ۱۹۵۲ مقالهٔ «روشی برای تولید کدی با کمترین تکرار » را منتشر کرد.

در الگوریتم هافمن با توجه به تکرار کارکترها کد باینری به آن‌ها تعلق می‌گیرد بدین صورت که برای کاراکترهای با تعداد تکرار بالا کدهای کوتاه و برای کاراکترهای با تکرار کم کدهای با طول بالا. این شیوه در نهایت منجر به ایجاد ساختاری از بیت‌ها برای ذخیره سازی می‌شود که فضای کمتری را نسبت به روش‌های معمولی اشغال می‌کند.

به بیان دیگر یا علمی‌تر می‌توان گفت در کدگذاری هافمن، از روشی خاص برای انتخاب نحوهٔ نمایش هر نماد استفاده می‌شود. یعنی در این روش رشته‌ای که نشان دهندهٔ یک کاراکتر خاص است هیچ گاه پیشوند رشتهٔ دیگر که نمایانگر نویسهٔ دیگر است، نمی‌باشد.

در این روش کاراکترهای پرکاربردتر با رشته‌های بیتی کوتاهتری نسبت به آن‌هایی که کاربردشان کمتر است، نشان داده می‌شوند. دیوید هافمن روشی که کارآمدترین کد برای فشرده سازی از این نوع را می‌سازد طراحی کرد.

توضیح الگوریتم هافمن

در توضیح الگوریتم هافمن HUFFMAN می‌توان فرض کرد می‌خواهید تکه اطلاعات زیر رافشرده کنید:

ACDABA

از آنجایی که ۶ کاراکتر داریم، این متن ۶ بایت یا ۴۸ بیت می‌باشد. (یعنی برای هر کاراکتر یک بایت ) با رمز گزاری هافمن، فایل برای بیشترین تکرار ظاهر شدن کاراکترها(در این مثال نماد A سه بار تکرار می شود) جستجو می‌شود و سپس یک درخت ساخته می‌شود که کاراکترها را با رشته بیت‌های کوتاه‌تر جایگزین می‌کند. در این حالت خاص الگوریتم از جدول جایگزینی زیر استفاده می‌کند:

A=0 , B=10 , C=110 , D=111

اگر این کد برای فشرده سازی فایل استفاده شود، اطلاعات فشرده شده به صورت زیر در می‌آیند:

۰۱۱۰۱۱۱۰۱۰۰

این به این معنی است که ۱۱ بیت به جای ۴۸ بیت مصرف می‌شود. کد گذاری به روش هافمن، روشی است برای بهینه سازی مقدار حجم استفاده شده برای نگهداری داده‌های معلوم است.

نحوه تشکیل درخت هافمن

  1. محاسبه چگالی هر کاراکتر
  2. انتخاب دو کاراکتر با کمترین میزان تکرار (چگالی)
  3. جایگزینی کاراکترهای مرحله ۲  با کاراکتر جدیدی که دارای چگالی برابر با مجموع چگالی دو کاراکتر فوق
  4. تا زمانی که فقط یک کاراکتر باقی مانده باشد، به مرحله ۲ می‌رویم.
  5. از عملیات فوق یک درخت حاصل می‌شود، بر روی این درخت هر مسیر به سمت چپ با صفر و هر مسیر به سمت راست با یک وزن دهی می‌شود.
  6. کد هر کاراکتر با کنار هم گذاشتن وزن‌ها از ریشه تا آن کاراکتر به دست می‌آید.

بررسی کد الگوریتم هافمن در سی شارپ #C

برای نمونه یکی از توابع را در اینجا توضیح می‌دهیم:

با فشار دادن دکمه “فشرده سازی” تابع Compression.Compress اجرا می‌شود و دو آرگومان inputRTxt.Text و Compression.Compress را به عنوان ورودی دریافت می‌کند و بعد از فراخوانی تابع تعداد کاراکترها شمرده شده و درخت مورد نظر تشکیل می‌شود که در زیر سورس تابع را مشاهده می‌کنید.

pre class="lang:c# decode:true"> private string compression(String text, Compression compress)
        {
            if (!string.IsNullOrEmpty(text))
            {
                if (compress == Compression.Compress)
                {
                    huffman(text);
                    for (int i = 0; i < usedCharCount; i++)
                        codeTable.Items.Add(((TreeNode)map_table[i]).ToolTipText + " >> " + ((TreeNode)map_table[i]).Name);

                    string result = string.Empty;
                    for (int i = 0; i < text.Length; i++)
                        result += search_char(text.Substring(i, 1));
                    return result;
                }
                else
                {
                    string result = string.Empty;
                    for (int i = 0, index = 0, len = 1; i < text.Length; i++)
                        search_binaryText(ref result, text.Substring(index, len), ref index, ref len);

                    return result;
                }
            }
            return null;
        }

تصویر خروجی برنامه الگوریتم هافمن HUFFMAN در سی شارپ

سورس کد الگوریتم هافمن HUFFMAN در سی شارپ #C

درباره الگوریتم هافمن HUFFMAN در سی شارپ

سورس کد الگوریتم هافمن HUFFMAN در سی شارپ #C با استفاده از Microsoft Visual Studio 2013 نوشته شده است و دارای گزارش کار ۵ صفحه‌ای در Word است و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است فایل دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود اثر مذکور آن را خریداری کنید.

ویدئوی معرفی

نحوه اجرای سورس کد


برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

تیم برنامه نویسی پی استور یکی از اولین گروه‌های تشکیل شده در مجموعه آموزشی پی استور می‌باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته‌های فنی و مهندسی تشکیل شده که در زمینه‌های مختلف برنامه‌نویسی و تهیه سورس کد فعال هستند.

مشخصات تکمیلی سورس کد

نام اثر: الگوریتم هافمن HUFFMAN در سی شارپ #C
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: سی شارپ #C
ویژگی: قابلیت دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:

تصویر و لوگوی گارانتی

نظرات

2 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار پینار

    پینار

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

  2. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هجده − چهار =

شناسه اثر: 8860 دسته‌بندی موضوعی: برچسب ,

هزینه سفارش:

۱۱۹,۰۰۰ تومان

دریافت کد تخفیف %