p Ù ? u èã ù á Ý...è Ý è ± è # è uù x è ^ý è r× è p Ù ? u è ! w è tý è p è t...

16
ﻓﺼﻞ اﻟﮕﻮرﯾﺘﻢ ﻫﺎی ﺣﺮﯾﺼﺎﻧﻪ- اداﻣﻪ... ﮐﺪﮔﺬاری ﻫﺎﻓﻤﻦ

Upload: others

Post on 09-Feb-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

فصل... ادامه - الگوریتم های حریصانه

کدگذاری هافمن

Page 2: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

کدگذاری هافمن چیست ؟ فشرده سازی یکی از روش های -

در بستر شبکهارسال فایل ها کم حجم برای -

Page 3: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

... ادامه کدگذاری هافمن را داریم فرض کنید ، متن

فضای اشغالی تعداد تکرار کارکتر فضای اشغالی مقدار کل

Page 4: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

... ادامه کدگذاری هافمن : فرض کنید ، جدول کارکترهای ، زیر را داریم

حرف تعداد تکرار

گام اول

Page 5: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

... ادامه کدگذاری هافمن

گام دوم گام سوم

Page 6: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

... ادامه کدگذاری هافمن

گام چهارم تا آخر

Page 7: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

... ادامه کدگذاری هافمن تبدیل به درخت

115

Page 8: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

... ادامه کدگذاری هافمن 115

6847

23 2411 12

5 7

31 37

1615

0

0

0

0

0

0

1

1

1

1

1

1

حرف تکرارتعداد عددی مقدار

Page 9: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

: مقایسه روش هافمن با غیر هافمن حرف حالت عادیتعداد تکرار، در هافمن پس از فشرده سازی درخت تعداد تکرار در

Page 10: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

، هم در حالت عادی و هم در میزان فضای اشغالی جمله حالت استفاده از درخت هافمن، مقایسه نمائید ؟

در حالت عادی ) الف

: مثال

Page 11: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

: استفاده از درخت هافمن ) ب... ادامهمثال

01 100 101 000 01 11 01

Page 12: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

) ( اگر فایل نهایی ایجاد شده ، بصورت باشد ، این کد ها مربوط به کدام کارکتر های می باشد ؟

: مثال

115

6847

23 2411 12

5 7

31 37

1615

0

0

0

0

0

0

1

1

1

1

1

1

) ( ) (

Page 13: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

خت هافمن کارکتر با تعداد تکرار یکسان داشته باشیم ، در در ۲اگر چه تغییر بوجود می آید ؟

بالف

Page 14: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

: پیچیدگی الگوریتم هافمن

تعداد کارکترها بهترین روش مرتب سازی

Page 15: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

:شود درخت هافمن کارکترهای زیر ترسیم: مثالحرف تعداد تکرار

Page 16: P Ù ? U èã ù á Ý...è Ý è ± è # è Uù X è ^ý è R× è P Ù ? U è ! W è Tý è p è T K Ù è î # è Ý è Ô è p ^âý è 4 Q è èù èä J èã U Õ è è ^ý ^ý

: تمرینکد کد شده جمله زیر به روش هافمن چند بیت خواهد شد ؟

)یرید جاهای خالی را در نظر بگ. (تمام کارکترها را بیابید