زمان کنونی: ۰۴ دى ۱۴۰۳, ۰۷:۰۶ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

کد هافمن

ارسال:
  

jafarir پرسیده:

Question کد هافمن

اگر رشته abcabbaccaabdffee را با روش کدینگ هافمن کد کنیم ، طول کد چند بیت خواهد شد؟

۳
ارسال:
  

mohsen_m پاسخ داده:

RE: کد هافمن

اول از همه با استفاده از الگوریتم هافمن درخت دودوییش رو می کشیم
به فرزندان هر گره ۰ و ۱ رو نسبت می دیم ( که توی هر سطح وقتی از یکی از این ۰ ها یا ۱ ها رد میشیم یک بیت حساب میشه )
بر اساس سطحی که هر کدوم از برگ ها قرار داره می تونیم تعیین کنیم که اون برگ چند بیت نیاز داره مثلا توی این شکلa دو(۲) بیت نیاز داره و کدش میشه ۱۰ و همچنین d چهار بیت نیاز داره و کدش میشه ۱۱۱۰ و همچنین این کد رو باید در تکرارشون هم ضرب کنی مثلا ۲ بیت a رو باید در ۵ که تکرارشه ضرب کنی که میشه ۱۰ بیت پس برای a ما در کل به ۱۰ بیت نیاز داریم و در نهایت جواب کلی میشه ۴۲ بیت که طول کد ماست

شکل رو نگاه کن اگه سوالی داشتی بگو

۲
ارسال:
  

mp1368 پاسخ داده:

RE: کد هافمن

سلام .
برای حل این سوال ابتدا باید درخت هافمن رو بکشیم که به صورت زیر هستش: (البته با یکی دوبار بی دقتی و ویرایش ارسال) Big GrinBig GrinBig Grin




در ادامه به ازای هر تعداد کاراکتری که به یک اندازه طول بیت نیاز دارند، باید جمع فراوانی های این کاراکترها رو ضربدر تعداد بیتهای مورد نیازشان بشه و مجموع کل این اعداد میشه کل طول بیت .

[tex](d,e) \Rightarrow 4 bit \Rightarrow (1 2)*4bit=12[/tex]
[tex](f) \Rightarrow 3 bit \Rightarrow (2)*3bit=6[/tex]
[tex](b,c) \Rightarrow 3 bit \Rightarrow (4 3)*2bit=14[/tex]
[tex](a) \Rightarrow 1 bit \Rightarrow (5)*2bit=10[/tex]

و مجموع این اعداد یعنی [tex]42[/tex] میشه کل طول کد بیت .
البته توی تست فراوانی e یکی در نظر گرفته شده که جواب میشه ۳۸ ولی توی صورت سوال شما ۲ تا e دیده میشه که جواب شده ۴۲

۰
ارسال:
  

kijativa پاسخ داده:

RE: کد هافمن

سلام دوست من
الگوریتم هافمنو بزن
اول که فراوانیاشونو در بیار(مثلا a 5بار تکرار شده) بعد صعودی مرتب کن بعد دوتای اولو با هم جمع کن و جمعشونو پدراین دوتا بگیر و بجای اون دوتا تولیست بذار و دوباره مرتب کن(نکتش اینه) حالا اینکارو ادامه بده،عمق درختمون جوابه که ۴ میشه
البته این نظر منه
موفق باشید Smile
مشاهده‌ی وب‌سایت کاربر

۰
ارسال:
  

jafarir پاسخ داده:

کد هافمن

سلام
از پاسخهاتون ممنونم،سوتیمو فهمیدمSmile

۰
ارسال:
  

fatima1537 پاسخ داده:

کد هافمن

(۲۲ آذر ۱۳۹۱ ۱۰:۵۹ ق.ظ)jafarir نوشته شده توسط:  abcabbaccaabdffee
این سئوال یکی از کنکورها بوده.یه دونه e اضافه نوشتید.درستش اینه abcabbaccaabdffe



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  کد هافمن Sanazzz ۲ ۳,۰۴۷ ۰۴ اردیبهشت ۱۳۹۸ ۰۳:۴۷ ب.ظ
آخرین ارسال: Sanazzz
  محاسبه طول کلمه در هافمن Mr.R3ZA ۳ ۴,۴۲۰ ۱۰ خرداد ۱۳۹۷ ۰۲:۲۳ ق.ظ
آخرین ارسال: saeed_vahidi
  علوم کامپیوتر - کدینگ هافمن ali.majed.ha ۳ ۲,۷۷۸ ۰۸ اسفند ۱۳۹۵ ۱۱:۱۶ ق.ظ
آخرین ارسال: ali.majed.ha
  سوال ۴۷ آیتی ۹۲ فشرده سازی هافمن a-t-e-f-e-h ۴ ۴,۳۱۵ ۰۹ بهمن ۱۳۹۳ ۰۷:۰۳ ب.ظ
آخرین ارسال: a-t-e-f-e-h
  کد هافمن mcse2010 ۱ ۱,۷۱۲ ۰۹ بهمن ۱۳۹۳ ۰۳:۴۲ ق.ظ
آخرین ارسال: fatemeh69
  درخت هافمن shamim_70 ۵ ۳,۰۷۲ ۰۷ بهمن ۱۳۹۳ ۰۴:۰۹ ب.ظ
آخرین ارسال: L3ic
  پیدا کردن دو نویسه با کمترین فراوانی در هافمن shayesteNEY ۳ ۳,۴۷۱ ۰۸ دى ۱۳۹۳ ۱۲:۰۶ ب.ظ
آخرین ارسال: Pakniat
  راهنمایی در مورد حل الگوریتم هافمن vahidir ۴ ۳,۶۳۱ ۲۷ خرداد ۱۳۹۳ ۰۴:۱۹ ب.ظ
آخرین ارسال: vahidir
  درخت هافمن ماهسان لیما ۲ ۲,۹۵۸ ۲۱ بهمن ۱۳۹۲ ۰۸:۱۲ ب.ظ
آخرین ارسال: soheila2012
  رسم های متفاوت درخت هافمن explorer ۴ ۴,۴۶۳ ۲۲ دى ۱۳۹۲ ۰۳:۱۳ ب.ظ
آخرین ارسال: hosshah

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close