• مقالات آموزشی
    • آموزش برنامه نویسی
    • آموزش الگوریتم
    • آموزش شبکه های کامپیوتری
    • آموزش های عمومی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپوینت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • لیست قالب آماده HTML
  • دانلود رایگان
  • مجله پی استور
  • ابزارهای آنلاین
    • برنامه نویسی آنلاین
    • تبدیل مبنای آنلاین
  • سفارش تدریس آنلاین
  • آموزش برنامه نویسی
  • آموزش الگوریتم
  • آموزش شبکه
  • آموزش عمومی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
  • درباره ما
  • تماس با ما
  • سفارش تدریس آنلاین
پی استور
0

ورود و ثبت نام

مقالات آموزشی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپونت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
      • عمومی
      • مشاهیر و اشخاص
      • واقعیت مجازی
      • طراحی سایت
      • برنامه نویسی
      • علوم کامپیوتر
      • اینترنت اشیاء
      • سیستم عامل
      • ارز دیجیتال
      • کسب و کار
      • تکنولوژی
      • علوم
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • قالب آماده HTML
  • مجله پی استور
  • ابزارهای آنلاین
    • برنامه نویسی آنلاین
    • تبدیل مبنای آنلاین

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

خانهفروشگاهبرنامه نویسیسی شارپالگوریتم هافمن HUFFMAN در سی شارپ #C
https://dl.programstore.ir/files/Uploades/Previews/c-sharp/Hofman.mp4

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

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

cropped-fav2.png

تهیه و تنظیم: تیم طراحی و تولید پی استور

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

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

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

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

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

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

ACDABA

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

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

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

01101110100

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

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

  1. محاسبه چگالی هر کاراکتر
  2. انتخاب دو کاراکتر با کمترین میزان تکرار (چگالی)
  3. جایگزینی کاراکتر های مرحله 2  با کاراکتر جدیدی که دارای چگالی برابر با مجموع چگالی دو کاراکتر فوق
  4. تا زمانی که فقط یک کاراکتر باقی مانده باشد، به مرحله 2 می رویم.
  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

ویدیو معرفی محصول

Your browser does not support the video tag.

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

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

گارنتی 7 روزه بازگشت هزینه

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

  • ۱۰۰ درصد مبلغ پرداختی در حساب کاربری شما شارژ می‌شود.
  • و یا 80 درصد مبلغ پرداختی به حساب بانکی شما عودت داده می‌شود.

مباحث مرتبط با الگوریتم هافمن

سورس کد الگوریتم هافمن (Huffman) در سی پلاس پلاس ++C
سورس کد الگوریتم هافمن در سی پلاس پلاس
الگوریتم کروسکال در سی پلاس پلاس (تعیین درخت پوشای مینیمم)
سورس کدالگوریتم کروسکال در سی پلاس پلاس
سورس کد الگوریتم کروسکال به زبان c++
سورس کد الگوریتم کروسکال به زبان c++
الگوریتم سولین در سی پلاس پلاس (حل درخت پوشای کمینه با الگوریتم سولین)
سورس کد حل درخت پوشای کمینه با الگوریتم سولین

مباحث مرتبط با پیمایش درخت در سی پلاس پلاس

پیمایش درخت Inorder در سی پلاس پلاس ++C
سورس کد پیمایش درخت Inorder در سی پلاس پلاس
پیمایش درخت postorder در سی پلاس پلاس ++C
سورس کد پیمایش درخت postorder در سی پلاس پلاس
پیمایش درخت preorder در سی پلاس پلاس ++C
سورس کد پیمایش درخت preorder در سی پلاس پلاس ++C
تعیین درخت پوشای مینیمم با الگوریتم پریم در سی پلاس پلاس
سورس کد تعیین درخت پوشای مینیمم در سی پلاس پلاس

تاکنون 222 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.

نظرات و دیدگاه ها
  • پینار
    20 تیر 1401
    امتیاز 5 از 5
    پاسخ

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

  • مدیریت و پشتیبانی
    7 آذر 1399
    امتیاز 5 از 5
    پاسخ

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

قوانین ثبت دیدگاه

  • لطفاً دیدگاه های خود را فارسی تایپ کنید.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.

لغو پاسخ

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

دسته‌بندی موضوعی: برنامه نویسی ساختمان داده سی شارپ

قیمت 39,000 تومان

افزودن به علاقه مندی ها
امتیاز
5.00 از 2 رأی
5.00 2 رای
39,000 تومان

تاریخ انتشار: 7 آذر 1399
تاریخ بروزرسانی: 25 اسفند 1399
حجم فایل: 520 کیلوبایت
فرمت فایل sln. در قالب ویژوال استودیو
نسخه: 1.0
هماهنگی با: Microsoft Visual Studio 2013 و بالاتر
دانلود شده توسط: 222 نفر

2 بازخورد (مشاهده نظرات)

قیمت: 39,000 تومان

تماس با ما
  • دفتر پشتیبانی: 04144225175 (ساعت کاری 8:00 الی 16:00)
  • آی دی تلگرام: programerPstore
درباره پی استور

تیم توسعه پی استور با هدف ارائه مطالب مفید علمی در گرایش های مختلف پروژه های علمی مختلف را جمع آوری می کند و در قالب یک محصول تست شده و قابل اجرا همراه با توضیحات و نحوه اجرا، انتشار می دهد. امید است با عنایت الهی و کوشش اساتید و دانشجویان همراهمان بتوانیم قدم کوچکی در تولید محتوای علمی کشور داشته باشیم.

مجوز های اخذ شده
اینماد نشان ملی   پروانه نشر دیجیتال
  • حساب کاربری من
  • سوالات متداول
  • راهنمای خرید و دانلود
پی استور
  • همکاری با ما
  • قوانین و مقررات
  • حریم خصوصی
تمامی حقوق برای پی استور محفوظ است.
keyboard_arrow_up