PDA

View Full Version : درباره فشرده سازی با الگوریتم هافمن چیزی می دونی؟



mo0ntazer
شنبه 30 خرداد 1388, 18:55 عصر
درباره فشرده سازی با الگوریتم هافمن چیزی می دونی؟
می تونید کمکم کنید که با اسمبلی بنویسم؟
یا کسی سورسشو داره؟؟
یه فایل بگیره و ....

tdkhakpur
یک شنبه 31 خرداد 1388, 15:05 عصر
سلام
در الگوریتم هافمن به جای شمارش تعداد تکرار از یک بایت اشتفاده میشود. به این صورت که مثلا تعداد تکرار کاراکتر های رشته زیر را با هافمن بصورت زیر باید تحلیل شود.


absssda
00000000 بصورت بیتهای یک بایت که هشت بیت هست
---------------
11110000
00101000
00100000
absda

در بالا شما باید اولین بیتهای زیر هم را برای کاراکتر اول و بیتهای دوم را برای کاراکتر دوم و الی آخر تحلیل کنید مثلا در بالا برای کاراکتر a یک بیت و برای کاراکتر b 1 بیت و برای کاراکتر s 3 بیت و برای d 1 و باز برای آخرین a 1 بیت در نظر گرفته شده است که جمع تعداد بیتهای زیز هم تعداد کاراکتر متناظر با ان بیت را نشان میدهند.
موفق باشید.

mo0ntazer
شنبه 06 تیر 1388, 19:02 عصر
ببخشید
حرف هاتون درست
برای هر کارکتر یه بیت اختصاص دادید
الگوریتم هافمن میاد از کوچکترین تکرار سروع به جمع کردن و ساختن درخت می کنه
الگوریتمشو می دونم ولی چه جوری برنامه نوشتن لیست پیوندی دو طرفه رو نمی دونم در اسمبلی
ممنون می شم کمکم کنید

tdkhakpur
شنبه 06 تیر 1388, 20:37 عصر
ولی چه جوری برنامه نوشتن لیست پیوندی دو طرفه رو نمی دونم در اسمبلی

سلام
منظورتان را متوجه نشدم خوب برای چی از لیست پیوندی استفاده میکنید. شما حداکثر 8 بایت برای شمارش احتیاج دارید .

mo0ntazer
یک شنبه 07 تیر 1388, 11:13 صبح
خوب اگه دقت کنید در الگوریتم هافمن به هر حرفی یه عدی میده و بر اساس الگوریتم به کمتری که سمته چپه عدد 0 و به درخت راست عدد 1 میده
خوب نمی دونم چه جوری می تونم اینو پیاده سازی کنم
این که به عنوان یه لیست پیوندی دو طرفه بگیرم بهتره
ولی هر چی فکر می کنم نمی دونم چه جوری می تونم پیاده سازیش کنم
فکر کنم با آرایه سه بعدی بشه
نمی دونم پیاده سازیش برای منه مبتدی خیلی سخته

mohamadsamin
پنج شنبه 13 خرداد 1389, 18:04 عصر
SALAM. khaheshan mishe barnamasho vasam bezarin.
poroghame
ta 1 khordad bad tahvil bedam khaheshan j bedidn. mamanun