کدگذاری هافمن: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
FreshmanBot (بحث | مشارکتها) جز اصلاح فاصله مجازی + اصلاح نویسه با ویرایشگر خودکار فارسی |
FreshmanBot (بحث | مشارکتها) جز اصلاح فاصله مجازی + اصلاح نویسه با ویرایشگر خودکار فارسی |
||
خط ۹۵:
=== کد هافمن با ارزش حرفی متفاوت ===
در کد گذاری استاندارد هافمن، فرض شدهاست که هر نماد در مجموعهای که کدها از آن استخراج میشوند، ارزشی یکسان با بقیه دارد: کد کلمهای که طول آن ''N'' است ارزشی برابر ''N'' خواهد داشت، مهم نیست که چند رقم آن ۱ و چند رقم آن ۰ است.
وقتی با این فرض کار
''کد هافمن با ارزش حرفی متفاوت'' به نحوی عمومیت یافته که این فرض دیگر صحیح نیست:
حروف الفبای کدگذاری ممکن است طولهای غیر همسانی داشته باشند، به خاطر خصوصیتهای واسطهٔ انتقال.
خط ۱۰۵:
اگر وزنهای مربوط به ورودیهای مرتب شده بر اساس الفبا، به ترتیب عددی باشند، کد هافمن طولی برابر طول کد الفبایی بهینه دارد که میتواند از طریق محاسبه بدست آید.
کد بدست آمده از ورودیهای مرتب شده از نظر عددی، ''' کد قانونی هافمن ''' گفته میشود و کدی است که به خاطر سادگی رمز کردن و رمز گشایی، در عمل استفاده میشود.
تکنیک پیدا کردن این کد،
و این به خاطر آن است که مانند کدگذاری هافمن بهینه، ولی در احتمال وزنها مانند کد گذاری [[رمزگذاری شانون-فانو]] الفبایی است.
کد هافمن Shannon-Fano مربوط به این مثال <math>\{000,001,01,10,11\}</math> است که در آن طول کد کلمهها، همان مقداری است که در حل اصلی آمدهاست.
|