שינויים

שיחה:88-280 מבני נתונים ואלגוריתמים

נוספו 11,500 בתים, 08:39, 21 באוקטובר 2012
[[שיחה:88-820 מבני נתונים ואלגוריתמים]] הועבר ל[[שיחה:88-280 מבני נתונים ואלגוריתמים]]
*האם ניתן לממש את המחסנית (ותור) בעזרת מערך ולא רשימה מקושרת? אם כן, ניתן להניח שגודלו (n*m) יהיה חסום במספר מאוד גדול? (לדוגמא, 1024)
:אפשר לממש במערך בכמה תנאים: 1. תתעד מה אתה עושה. 2. הכנסה והוצאה חייבות להיות ב-<math>O(1)</math> בממוצע. 3. גודל התור לא חסום ע"י מספר קבוע. אם התור או המטריצה הם בגודל קבוע מראש יורדו נקודות בבדיקה הידנית גם אם הבדיקה האוטומטית עברה בהצלחה. --[[משתמש:Ufirst|אוריה]] 17:17, 27 בנובמבר 2011 (IST)
*האם ניבדק על שחרור כל הזכרון שהקצאנו דינמית במהלך התרגיל? (האם צריך לשחררו?)
:צריך לשחרר כל זיכרון שהוקצה. כנראה ירדו נקודות על זיכרון לא משוחרר, אבל לא הרבה, כי זה לא העיקר בקורס הזה. --[[משתמש:Ufirst|אוריה]] 17:17, 27 בנובמבר 2011 (IST)
*האם מותר לממש את המחסנית כך שמהתוכנית הראשית יש לכאורה גישה לנתוני המחסנית (לא רק לאיבר העליון), אך שבתוכנית הראשית אני משתמש רק בפונקציות המיועדות למחסנית (PUSH ,POP, וכו')? (במקום שאממש את המחסנית באופן שמסתיר את נתוניו באופן מוחלט מהקוד הראשי)
:אין צורך "להסתיר" את תוכן המחסנית, אך אין לגשת אל המחסנית שלא בעזרת POP, PUSH וכיו"ב. (אני מבין שאתה מתכנת ב-c++ אם אתה שואל זאת.) --[[משתמש:Ufirst|אוריה]] 17:17, 27 בנובמבר 2011 (IST)
*בסעיף ב', הצלחתי לממש את האלגוריתם בלי שימוש במטריצת עזר ששומרת עבור כל אחד מהתאים את מספר התאים עד אליו. האם אני חייב לשנות את המימוש שלי (מכיון שכתוב בתרגיל שיש להשתמש במטריצה כזו)?
:זה בסדר בתנאי שממשת והשתמשת בתור. --[[משתמש:Ufirst|אוריה]] 11:57, 24 בנובמבר 2011 (IST)
 
== תרגיל 3 ==
 
*בשאלה 1 (וגם למעשה 2) האם ניתן להניח שאנו מקבלים את העץ במימוש של מערך ואנחנו מקבלים את המערך? או שמקבלים פוינטר לשורש והוא ממומש בתור פוינטרים?
:אתם מקבלים מצביע לשורש (וכל צומת מכיל מצביעים לבנים). מימוש עץ במערך אפשרי רק במצבים של עץ מאוזן לחלוטין, כגון בערמה (ולא כגון המקרה שבתרגיל שם נתון עץ כללי). --[[משתמש:Ufirst|אוריה]] 12:17, 6 בדצמבר 2011 (IST)
 
==תרגיל 4==
*"יש לתכנת רק ב-C." מה?!!! --[[משתמש:זיתוני|זיתוני]] 19:14, 6 בדצמבר 2011 (IST)
 
*"התוכנית תרוץ עם שני פרמטרים" - כוונה ל- aruments to main function או לפשוט שני קלטים?--[[משתמש:2m0rr0w2|2m0rr0w2]]
:אחרי קריאה על פרמטרים ל-main ושוב התבוננות בדוגמאות הבנתי שמדובר עליהם. כל מי שכמוני לא זוכר איך זה עובד מוזמן לקרואה כאן[http://publib.boulder.ibm.com/infocenter/lnxpcomp/v7v91/index.jsp?topic=%2Fcom.ibm.vacpp7l.doc%2Flanguage%2Fref%2Fclrc07argcvex.htm Here]
 
*וכרגיל מגיעים לשלב הכי "מעניין" כאשר הכל עובד כמו שצריך אך ציון עדיין נמוך ממאה. ): אם מצאתם איזה רווח שמעלה ציון או מקרה קיצון, שתפו אחרים. זה יעזור לכולנו לא לשרוף המון שעות סתם..
:לאור מקרים שנתקלתי בהם, אנא בדקו שהתוכנית שלכם אכן עובדת נכון על הקלטים לדוגמא -- בפרט, '''נסו לבדוק בתוכנית עצמה שהמערך שמיינתם באמת ממויין ולא "כמעט ממויין"''' (קשה לראות טעויות קטנות במיון בגלל גודלם של המערכים). גם טעות אחת במיון תגרור הורדה של כל הנקודות על הסעיף בבדיקה. --[[משתמש:Ufirst|אוריה]] 13:25, 15 בדצמבר 2011 (IST)
 
*האם ניתן להניח הנחות כלשהן על המספרים שיהיו בקובץ, למשל שלמים? חיוביים? שונים מ-0? נכנסים ב-int? (על הדרך סידרתי קצת בלאגן שהיה פה בעמוד)
*רשום בתרגיל: "קובץ המכיל רשימת מספרים שלמים"
:המספרים בקובץ הם שלמים, אי שליליים (0 אפשרי) ונכנסים ב-int. --[[משתמש:Ufirst|אוריה]] 22:15, 12 בדצמבר 2011 (IST)
 
*האם מותר להשתמש בstring וב-sstream כדי לבדוק מהו הפרמטר שמקבלים? (אם זה sort או מספר, ואם מספר אז איזה מספר?)
:באיחור קל, אפשר להשתמש בדברים שציינת, אבל יותר פשוט להתשתמש ב-strcmp (לדוגמא). כדי להמיר מחרוזת למספר יש את הפונקציה atoi. --[[משתמש:Ufirst|אוריה]] 10:21, 20 בדצמבר 2011 (IST)
 
== מספר קורס ==
 
המספר קורס של העמוד הזה הוא 88-820 במקום 88-280
 
==תרגיל 6==
*בקשה לתרגילים הבאים: תוכלו בבקשה לפרסם תרגילים רק כשמסתיים מועד ההגשה של התרגיל הקודם, כך שזמני העבודה שלנו על התרגילים לא יהיו חופפים כל הזמן? זה סתם מלחיץ ולא באמת מועיל במשהו...
:זו הנחיה של המרצה. אם אתם רוצים שלא תהייה חפיפה, זה אומר שהתרגילים יהיו לשבוע אחד.--[[משתמש:Ufirst|אוריה]] 10:09, 25 בדצמבר 2011 (IST)
 
 
*בנסיון להגיש תרגיל targil6cpp.cpp, אני מקבל שגיאה מ-submitex:
::"שגיאת תחביר בקובץ תאריכי ההגשה, נא להודיע למתרגל"
:יש בעיה במערכת ה-submit כרגע. נסו להגיש מיום שני בהצהריים. עד אז ככה"נ הבעיה תטופל. --[[משתמש:Ufirst|אוריה]] 10:09, 25 בדצמבר 2011 (IST)
 
*האם מותר להשתמש במחלקת string? ומה בדבר מימוש STL של רשימה מקושרת?
:אפשר להשתמש ב-string וב-math. אסור להשתמש ב-STL. --[[משתמש:Ufirst|אוריה]] 14:14, 30 בדצמבר 2011 (IST)
::טעות קלה: הכוונה הייתה שאסור להשתמש בעצים של STL. וקטור, תור ומחסנית הם בסדר. --[[משתמש:Ufirst|אוריה]] 21:58, 31 בדצמבר 2011 (IST)
 
*האם יתכן שנקבל מחרוזת ריקה לקידוד\פיענוח?
 
*האם צריך להדפיס שורה ריקה בסוף הפלט?
 
*האם נקבל מחורזת בגודל מטורף? (כזה שאי אפשר לקלוט מחרוזת באורכו לטיפוס string ב-c++)
===בעיה חוזרת===
כבר כמה פעמים כשאני בא להגיש כתוב לי:
Software error:
 
Couldn't close targil6cpp.cpp: No space left on device at /var/www/submit/cgi-bin/welcome.cgi line 577.
For help, please send mail to the webmaster (pinchas@macs.biu.ac.il), giving this error message and the time and date of the error.
אני יודע שלעוד סטודנטים יש את הבעיה הזאת, מה אנחנו אמורים לעשות?
:נכון שסידרו את זה עכשיו, אבל לרבים מאיתנו לא הייתה דרך לדעת כמה אנחנו מקבלים עד היום בערב (כשחזרנו מהאוניברסיטה). האם בכל זאת לא נקבל דחייה?
 
== תרגיל 7 ==
 
*שאלה ראשונה סעיף 2, דרישה ב: זה לא אומר שבכל מחלקה ילמד לכל היותר סטודנט אחד? כי אם כן זה בעיה שקולה לסעיף 1...
*שאלה 1, סעיף 1: "וכל מחלקה מעוניינת לקבל סטודנט אחד לכל היותר." - כלומר, כל מחלקה מעוניינת לקבל '''מקסימום''' סטודנט אחד?
**(לא המתרגל. מהבנתי את התרגיל) סעיף 2, דרישה ב' לא אומרת שבכל מחלקה ילמד לכל היותר סטודנט אחד, אלא שכל סטודנט ילמד לכל היותר במחלקה אחת. שאלה 1, סעיף 1: ככל מחלקה מעוניינת לקבל מקסימום סטודנט אחד.
 
*בשאלה השנייה, מה הכוונה שהקשת "רוויה"? שהיא מלאה או מספיק שעובר בה משהו?
**(שוב, לא המתרגל. מהבנתי את התרגיל) (כנראה) שהיא מלאה.
 
== ציוני תרגיל ==
 
*איך אפשר לדעת על מה ירדו נקודות בתרגיל 2?
*כנ"ל לגבי תרגיל 4. זה כ"כ נורא שאנחנו רוצים לדעת איפה ירדו לנו נקודות?
::לצערנו, הבודק לא תיעד את הטעויות בתרגילים 2 ו-4. הנחינו אותו לפעול אחרת בתרגיל 6. נקודות לרוב יורדות על אי שחרור זיכרון, מימוש שלא בהתאם להנחיות (אלגוריתם שונה מהנדרש; סיבוכיות זמן גדולה מהנדרש), הנחה על גודל הקלט (לדוגמא, הקצאת מערכים בגודל קבוע) ומימוש שאמנם עובד נכון על הדוגמאות של הבדיקה האוטומטית, אך לא עובד נכון על כל הקלטים.--[[משתמש:Ufirst|אוריה]] 20:02, 11 בינואר 2012 (IST)
:::[[File:Images.jpg]]
 
==תרגיל 8==
*בקובץ על הטעויות הנפוצות, המלצתם על <math>2^{32}</math> , ובקובץ של התרגיל עצמו על 999997 בשביל פונקצית האש. אולם, אלו בכלל לא מספרים ראשוניים! האם זה משנה בכלל? --[[משתמש:זיתוני|זיתוני]] 17:19, 18 בינואר 2012 (IST)
:ממש לא. העיקר ש-P יהיה זר ל-p. --[[משתמש:Ufirst|אוריה]] 20:30, 23 בינואר 2012 (IST)
 
== המרצה העביר קישור למדריך בנושא האחרון שנלמד בהרצאה: תכנון דינאמי ==
 
Here is a good tutorial for DP.
 
 
http://people.csail.mit.edu/bdean/6.046/dp/
 
== סימפלקס ==
 
מי שלא הבין את הסימפלקס, ניתן למצוא באתר שלי את המידע הדרוש בנוגע לשיטה עם הסברים, הדגמות וסימולציות.
עליך לרשום בחיפוש: Math ובפוסט על מתמטיקה ניתן לראות את החלק של Operation Research שם יש את כל מה שדרוש.
או בצד ימין תחת POPULAR POSTS ניתן לראות את הפוסט עם המידע על השיטה.
כתובת האתר נמצאת [http://math-wiki.com/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Steve בפרופיל שלי]. סלבה.
 
==תרגיל 10==
*במשימה 2, האם יתכן מצב שנקבל סכום של כסף שלא ניתן לייצג עם המטבעות הנתונים? (כזה מצב אפשרי אם המטבע 1 לא קיים). --[[משתמש:זיתוני|זיתוני]] 20:36, 26 בינואר 2012 (IST)
:עבור כל הקלטים ניתן לקבל סכום כסף מדוייק, למרות שלא תמיד המספר 1 מופיע. בהצלחה! הילה.
 
*מתי יתפרסמו הציונים של תרגילים 6 ו-8? אנחנו צריכים לדעת מה הציונים כדאי שנדע האם לעשות תרגיל 10.
 
*בתרגיל 10 במקרה 3 בדוגמאות כתוב False עם F גדולה. בתרגיל עצמו כתוב שצריך להיות כתוב false. מה מהם צריך?
:false --[[משתמש:Ufirst|אוריה]] 16:49, 1 בפברואר 2012 (IST)
::[[File:F79.jpg]]
 
== אנטרופיה- שאלה ממבחן ==
 
איך פותרים שאלות מהסגנון:
עבור הרצף 010101010101010101 (9 פעמים 01) חשב את האנטרופיה של הקוד במילים בעלות אות אחת, שתי אותיות ושלוש אותיות.
:הניסוח קצת מעורפל ולכן הייתי שואל את המרצה למה הכוונה. לדעתי, השאלה היא לכמה ביטים הרצף יידחס בקוד '''הפמן''' אופיטמלי כאשר מקודדים בעץ רצפים של אות אחת \ שתי אותיות \ שלוש אותיות. התשובה אמורה להיות 18 \ 9 \ 6 בהתאמה.--[[משתמש:Ufirst|אוריה]] 21:53, 25 בפברואר 2012 (IST)