בעיה מעצבנת

tomashin

New member
בעיה מעצבנת../images/Emo13.gif

היי שלום לכולם! יש לי בעיה קטנה אשמח לקבל מענה יעיל ואידיאלי לבעיתי. אני כותב את קוד האופמן,ניתקלתי בבעיה קטנה: בקובץ המכוווץ אני שומר את הטבלה ואת קוד הכיווץ,הטבלה נשמרת בפורמט תו ואחוז הופעותיו בקובץ המוצג לפי תו ע"פ קוד אסקי שהוא בעצם אחוז הופעתו של תו. יש לי בעיה:מה קורה כאשר יש תו שאחוז הופעתו בקובץ הוא 21.345 ואחד נגיד רק 21 חשבתי כפתרון לכתוב את החלק השם בשבר וזהו,אבל האם המאית האחוז הזה יכול להשפיע על בניית העץ ולעשות אותו שונה מהעץ שלפני הכיווץ? במידה וכן,תציעו פתרון/נות בבקשה. תודה וערב טוב
.
 

gmorphus

New member
הממ

שאלה נחמדה, אני בטוח שאפשר למצוא לזה תשובה די בקלות באינטרנט אבל אני אגיד כאן מה שאני חושב. קודם כל שים לב שבאמצעות 4 בתים אתה יכול לייצג 4 ג'יגה(!) של תווים וזה צריך להיות יותר ממספיק. לא יודע כמה פעמים בחיים שלך תנסה לכווץ קובץ או קבצים שגודלם יותר מ4 ג'יגה. מה אני מנסה להגיד בעצם? אתה יכול פשוט להקריב 4 בתים כבור כל תו וככה לכתוב את השכיחות המדויקת. אני לא יודע אם יש פתרון יעיל יותר מזה (מבחינת מקום) כי ליעילות בזמן הוא לא משנה בכלל. מה שכן להשתמש באחוז השכיחות ולוותר על מה שמופיע אחרי הנקודה לא יעבוד כי זה משפיע על הסכומים ואפשר בקלות לתת דוגמא שעבורה זה ידפוק את הדחיסה. בעוד אני כותב שורות אלה עולה לי הרעיון הבא: אתה יכול לקחת את המקסימום של השכיחות ועל פי זה לקבוע את מספר הבתים (log2 חלקי 8) שידרש ואז אתה יכול לחסוך קצת מקום. אבל שוב, זה מספר קבוע של בתים שידרשו במקרה הגרוע וזה לא נורא.
 
למעלה