עמוד 1 מתוך 1

עוד שאלות על הקידוד

הודעהפורסם: 19:08 18/05/2010
על ידי shaysw
חג שמח לכולם.
מאחר ועוד אין לי שום מושג לגבי איך להתחיל לממש את מבנה הנתונים בשאלה 5, החלטתי להשקיע זמן במימוש הקידוד.
לאחר נבירה בהרצאות מהסמסטר הקודם הצלחתי למצוא כיצד אפשר לבצע קריאה מקבצים כך שניתן יהיה לקדד אוסף מילים מופרדות ע"י רווח,
אך אבוי! לאחר כתיבת תוכנת הקידוד גיליתי כי בעוד התוכנית קוראת את שורות המילים בקובץ הTXT אליו תועברנה המילים לקידוד משמאל לימין,
הפלט של התוכנית מתבצע מימין לשמאל (הקידוד עצמו, ד"א, עובד כמו שצריך).
בעיה זו נעלמת כשלוחצים על Ctrl+Shift, אולם מניסיוני עם "רמת הדיוק הגבוהה" של תוכנות הבדיקה במחלקה, אלא אם כן הסנונית עפה בדיוק של 10
ספרות אחרי הנקודה מהפלט הנדרש, כל התרגיל הולך לפח (במילים אחרות, מה ניתן לעשות כדי שהפלט יהיה זהה לזה הנדרש מבחינת פורמט?)

כמו כן, אשמח אם תוכלו לפרסם כמה קבצי TXT יחד עם הפלט המתאים, לבדיקה של תוכנית הקידוד.

תודה

Re: עוד שאלות על הקידוד

הודעהפורסם: 19:35 18/05/2010
על ידי TA_Ariel
המחשב שלך מראה אותם מימין לשמאל, זה לא באמת המצב.
לכן גם תוכניות עם "רמת הדיוק הגבוהה" יטפלו בקלט שלך כמו שצריך, הסר דאגה מליבך.
אני מציע כרגע לעזוב את עניין הקידוד ולהתמקד במבנה הנתונים.

Re: עוד שאלות על הקידוד

הודעהפורסם: 21:26 18/05/2010
על ידי hades200621
אני בדיוק כמו שי התייאשתי מבחינת מימוש מבנה הנתונים ולכן התחלתי לעבוד על קלט פלט שאיתם כמעט וסיימתי, אך בדבר מבנה הנתונים אחרי מאמצים רבים איני מצליח לחשוב על כיוון... :(
אם אפשר רמז לרעיון שנוכל לפחות להתחיל לעבוד על המימוש...
ד"א אחד הכיוונים היה שונה לגמרי מהכיוון שהצעת שלא ממש הבנתי היא... למה אי אפשר פשוט להשתשמש במיון מונה כאשר כל ההנחות הדרשות לקלט מתקיימות במקרה שלנו?

נ.ב: גודל מבנה הנתונים הוא כמספר המילים בקוד שלנו?

Re: עוד שאלות על הקידוד

הודעהפורסם: 00:23 19/05/2010
על ידי TA_Ariel
counting sort צריך הנחה על גודל המפתחות, הנחנה אותה אין לך במקרה הזה.
גודל מבנה הנתונים הוא במספר המספרים בקבצי הקלט, במקרה הפרטי לצורך ההגשה זה נכון, אבל אהתוכנית שלכם צריכה להתמודד עם קבצי קלט שונים.

מבנה הנתונים - נניח שמצאת כבר את האיברים במקומות המיוחדים. נניח שk=2. כלומר יש לך שתי קבוצות, כל מי שגדול מהחציון וכל מי שקטן.
אתה צריך מבנה נתונים שיתמוך בהכנסות שישמור על שתי הקבוצות האלו בגודל שווה, כלומר במקרה שהוספת מישהו גדול צריך להזיז (אולי) את האיבר הקטן ביותר מהגדולים לקבוצת הקטנים, ובמקרה הסימטרי להזיז את האיבר הגדול ביותר לקבוצת הגדולים.
איזה מבנה נתונים תומך בפעולות אולו בזמן O(logn)?