تالار گفتمان مانشت
علوم کامپیوتر - کدینگ هافمن - نسخه‌ی قابل چاپ

علوم کامپیوتر - کدینگ هافمن - ali.majed.ha - 07 اسفند ۱۳۹۵ ۱۲:۰۷ ق.ظ

با عرض سلام
توی کتاب مدرسان برای الگوریتم هافمن، وقتی می خواهیم گره ها با کمترین تعداد رو با هم ترکیب کنیم، گفته که : " دقت کنید گره با تکرار کمتر سمت چپ قرار می گیرد. " من سوال زیر رو با این روش رفتم، ولی توی پاسخنامه اصلا این موضوع رو رعایت نکرده. این موضوع اهمیت نداره ؟ یعنی گره با تکرار کمتر لزوما نباید در سمت چپ قرار بگیره ؟

عکس سوم راه حل خودم هست که از همون قانونی که گفته استفاده شده ؛ یعنی چون گره c یک بار تکرار شده و گره b دوبار ، پس c سمت چپ b قرار می گیره. لزومی نداره این طوری باشه ؟

با تشکر

RE: علوم کامپیوتر - کدینگ هافمن - delete4all - 07 اسفند ۱۳۹۵ ۰۸:۵۲ ق.ظ

(۰۷ اسفند ۱۳۹۵ ۱۲:۰۷ ق.ظ)alimamala نوشته شده توسط:  عکس سوم راه حل خودم هست که از همون قانونی که گفته استفاده شده ؛ یعنی چون گره c یک بار تکرار شده و گره b دوبار ، پس c سمت چپ b قرار می گیره. لزومی نداره این طوری باشه ؟

با تشکر

سلام
والا من هرچی دیدم و حل کردم و خوندم کلا تکرار کمتر سمت چپ و .... مثل همین عکس سوم ک گزاشتین
و صحیحشم همینه که گزاشتین
احتمال زیاد کتاب اشتباه چاپی داشته و جای c و e رو اشتباه تایپی بوده که تصحیح نشده

شما روشتون صحصحه

RE: علوم کامپیوتر - کدینگ هافمن - msour44 - 07 اسفند ۱۳۹۵ ۰۶:۲۳ ب.ظ

سلام
معمولا در کتاب ها فراوانی کمتر سمت چپ قرار می گیرد ولی این ترتیب اختیاری است و ترتیب های مختلف می تواند رمز های متفاوتی تولید کند.
در هافمن تناسب بین تعداد بیت های اختصاصی با فراوانی کاراکتر ها و اینکه رمز ها دارای خاصیت پیشوند ازاد(prefix-free) باشند و تخصیص بیت ها بهینه باشد مهم است.

RE: علوم کامپیوتر - کدینگ هافمن - ali.majed.ha - 08 اسفند ۱۳۹۵ ۱۱:۱۶ ق.ظ

با سپاس از عزیزان