שיחה:88-280 תשעג סמסטר א: הבדלים בין גרסאות בדף

מתוך Math-Wiki
(←‏שאלה 3 סעיף א' c: פסקה חדשה)
 
(34 גרסאות ביניים של 5 משתמשים אינן מוצגות)
שורה 3: שורה 3:
=שאלות=
=שאלות=


== תרגיל 1 ==
*'''[[:שיחה:88-280_תשעג_סמסטר_א/ארכיון|ארכיון]]'''


עד כמה צריך לפרט בהוכחת קצבי הגידול (האם ניתן להשתמש בגבולות שהוכחנו באינפי לפני שנתיים?)
== שאלה למבחן בנושא עצי 2-3 ==


'''תשובה:'''
האם בעצי 2-3 הערכים בהכרח בעלים או שהם מאוכסנים בקודקודים הפנימיים?<br />
מצאתי מספר מקומות באינטרנט ([http://www.cs.ucr.edu/cs14/cs14_06win/slides/2-3_trees_covered.pdf] [http://cs51.seas.harvard.edu/hw/2-3-trees.pdf]) שלפיהם המידע מאוכסן גם בקודקודים הפנימיים.


אפשר פשוט להשתמש בהגדרה:
'''הערכים נמצאים רק בעלים. בקודקודים הפנימיים יש אינדקסים. העלתי מצגת ב"חומר עזר"'''
<math>f(n)=o(g(n))</math> (סימון אחר <math>f(n)\ll g(n)</math>) אם <math>\lim_{n\to\infty}\left|\frac{f(n)}{g(n)}\right|=0</math>.


(כלומר g גדלה מהר יותר מ-f)
== שאלה למבחן בנושא מיונים ==


וככה לדרג את כל הפונקציות
לQuick Sort ו-MSD Radix יש גירסאות in-place ויש גרסאות יציבות. באחת השאלות ממבחנים קודמים נשאל "תן שלוש דוגמאות למיונים יציבים ושלוש דוגמאות למיונים לא יציבים". האם אפשר להכניס את שניהם לשתי הקטגוריות או שאנחנו מדברים רק על גירסאת in-place שאינה יציבה?


== תרגיל 1 שאלה 4 ==
'''אפשר להכניס ל-2 הקטגוריות '''


נראה לי שיש טעות באלגוריתם.
== שאלה מבחינה - גיבוב קוקייה ==
בשורה: return j, זה צריך להיות לדעתי return i.
כמו שזה עכשיו הוא תמיד יחזיר את אותו הערך, את n.
<br />
אגב, קצת פחות חשוב, אבל צריך להיות רשום A[j]==i במקום a[j]==i


'''תשובה:'''
נתונות פונקציות עירבול לעירבול קוקו – הפונקציה הראשונה היא גימטריה, הפונקציה השניה גימטריה ועוד עשר. <br>הכנס לפי הסדר את המילים הבאות: דוד,משה, דודי, שמה, יד, כד,דל
נכון, זה צריך להיות return i.
אני מעלה מחדש את קובץ התרגיל עם התיקון.
תודה


== שאלה 1 פונקציה 1 ==
למעשה כאן, אין בעיה, עד שאני מגיע להכנסת המילה כד. כשאני מכניס אותה אני נכנס למצב של לולאת "קוקו" אינסופית, שכן יש לי 4 מילים שמתחרות על שלושה מקומות:
* דוד - 14/24
* דודי - 24/34
* יד - 14/24
* כד - 24/34


<math>
יש לי שלושה מקומות לשים ארבע מילים, ולכן הקוקייה כל הזמן תזיז מילים כדי לפנות מקום למילים אחרות, ולמעשה נתקע.
e^{\log_d n^3} = e^{3\log_d n} = e^{3\frac{\log_e n}{\log_e d}} = n^{\frac{3}{\log_e d}}
</math>
מדוע במקרה זה לא חשוב לדעת את הבסיס של הלוגריתם?<br /><br />
לדוגמא, במידה ו
<math>
d=\sqrt[100]{e}
</math>
אז הפונקציה שייכת ל:
<math>
O(n^{300})
</math>
ואילו אם
<math>
d=e^3
</math>
אז הפונקציה שייכת ל:
<math>
O(n)
</math>
<br />
וזה משפיע כמובן על היחס של קצב הגידול שלה לעומת פונקציה 2 לדוגמא.


כמו כן, בקלט עצמו יש הפרה של כללי גיבוב קוקיה, שכן בכיתה אמרנו שצריך להתקיים הכלל הבא:
אם x שונה מ-y אז אחת מפונק' הגיבוב תחזיר עבורם ערכים שונים.


'''תשובה:'''
כלל זה לא מתקיים עבור הזוגות:
נכון
* דוד + יד
* דודי + כד
* משה + שמה


בסיס הלוגריתם אינו משנה רק כאשר מדובר בלוגריתם רגיל או לוגריתם בחזקה כלשהי.
בכל אופן, מה עושים בשאלה כזו? איך עונים עליה? תודה מראש.


אך כאשר מדובר בלוגריתם באקספוננט זה זה כן משנה.
'''זה היה בדיוק הרעיון בשאלה - שגיבוב קוקיה לא עובד עם הפונקציות האלה'''
<br />
'''המשך שאלה:'''<br />
אז איך אני אמור לדרג את הפונקציה הזאת לעומת פונקציות 2,6 או 8 כשהבסיס אינו ידוע?


'''תשובה:'''
== עצי סיפא + suffix link ==
אתם יכולים להניח שהבסיס הוא e, כלומר זה ln.
--[[משתמש:Jeniiiiibee|Jeniiiiibee]] 11:59, 4 בנובמבר 2012 (IST)


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


# לכותבים ב-c++, מהם שמות ההגשה? בקובץ עצמו רשומים אותם שמות הגשה לשני החלקים. '''שמות הגשה צוינו בתרגיל'''
== ציוני תרגילים ==
# בקבצים עצמם, הפונקצייה שאני צריך להגיש היא פונקציית main? '''פונקציית ה-main צריכה להיות הראשית בקובץ'''
# האם צריך להגיש גם מייקפייל? '''לא, כל התוכנית צריכה להיות בקובץ אחד (אתם מגישים קובץ יחיד)'''
# בעבור חלק 1 כתוב שאם יש מסלול הוא יחיד, מצד שני בדוגמה השנייה שנתת יש שתי אפשרויות למסלולים (פעם אחת המסלול שנפל, ופעם השנייה המסלול שנפלט בתוספת ה-W האחרונה). האם להניח שאכן יש מסלול אחד? אם אי אפשר להניח זאת, איזה מסלול לפלוט? '''אפשר להניח שקיים מסלול יחיד. אני אתקן את הדוגמא'''
# בחלק 1, האם המחסנית חייבת להיות מחסנית של האותיות במבוך, או לחילופין אפשר שהמחסנית תכלול בתוכה מבני נתונים אחרים (למשל, structים בסיסיים או מחרוזות).'''המחסנית צריכה להכיל את הנקודות של המסלול בלבד'''
# בחלק 2, בדוגמות - עבור הדוגמה הראשונה, האם הפלט לא אמור להיות 6 (עבור המסלול A -> B -> b -> p -> t -> g), ובדוגמה השנייה, האם הפלט לא אמור להיות 5? '''כתוב ששתי אותיות זהות לא יכולות להיות צמודות במסלול'''


תודה מראש.
איך נקבע ציון התרגיל הסופי?<br />
אפשר לא להגיש אחד תכנות וגם לא להגיש אחד תאורטי?<br />
מעל ממוצע מסויים בציון תרגיל הוא הופך להיות 100?


== שאלה על תרגיל 2 ==
'''כבר כתבתי את זה בהודעות. מתוך סה"כ 9 תרגילים, לא יילקחו בחשבון תרגיל אחד תכנות ואחד תאורטי'''


בחלק הראשון, מטריצת העזר יכולה להיות של סטראקטים (המכילים כמה נתונים עוזרים?) תודה! '''לא - מטריצת העזר צריכה להיות מטריצה בינארית (רמז)'''
האם מעל ציון ממוצע תרגיל מסויים הוא הופך להיות 100? (לדוגמא, מעל ממוצע 96, ציון התרגיל יהיה 100)


== דוגמה בחלק 1 של תרגיל 2 ==
'''לא.'''


הי, האם המטריצה המתקבלת בחלק 1 אמורה להיות ריבועית? אם כן, נראה לי שיש טעות בדוגמה הראשונה... תודה מראש.  '''נכון- הוספתי שורת "#", גם בדוגמא של החלק השני'''
== ציונים ==


== סוג המחסנית ==
מתי תעלי את הציונים של תרגיל 7? שנדע אם להגיש או לא את התרגיל האחרון. ''' הציונים נמצאים דף ההודעות. בהצלחה'''
 
האם המחסנית חייבת להכיל נתונים מטיפוס char או שניתן להשתמש ב-int יחיד כדי לסמל מיקום? '''היא אמורה להכיל את המסלול, אז לא צריך char'''
:אז היא יכולה להכיל סטראקטים (המכילים את מיקומי הנקודות במסלול?)
::לא צריך סטראקט בשביל מיקום, Int יחיד יכול לתת לך מיקום בצורה חח"ע.
:::אוקי, תודה
 
== בדיקה אוטומטית במערכת ==
 
הי ג'ניפר,
 
האם תוכלי להעלות את הקבצים שבהם את משתמשת לבדיקה האוטומטית הראשונית? אני שואל זאת כי כרגע אני לא מקבל את הציון המקסימלי, ואם היית מפרסמת (כפי שעושים בקורסים אחרים) אז זה יוכל לכוון אותי (שאדע במה אני טועה). מה גם שכרגע הציון המקסימלי שהגיעו אליו הוא 40 (מבדיקה עם רבים מהסטודנטים בקורס) ולכן זו בעיה שכנראה חוזרת אצל הרבה מאיתנו ואנחנו לא מוצאים פתרון לה. תודה רבה מראש, ושבת שלום :)
 
'''אני צריכה לדבר עם יורם על זה. בכל מקרה אחד מכם קיבל 50 בחלק הזה, כך שזה אפשרי''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 19:01, 10 בנובמבר 2012 (IST)
 
 
'''החלטנו לא תת את הקלטים של הבדיקה. אתם אמורים לתכנת לפי כל מקרי הקצה, ולא לפי קלטים מסוימים כדי שיעובד לכם בבדיקה'''
 
'''אני מעלה לדף התרגילים דוגמא נוספת שאמורה לכוון אתכם. בהצלחה ''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 12:27, 11 בנובמבר 2012 (IST)
 
== תקלה בהגשת תרגיל 2, חלק 2==
כשאני מנסה להגיש את תרגיל 2, חלק 2 (ב-c++) אני מקבל חזרה למייל את הודעת השגיאה הבאה
 
 
There is a problem with the configuration files:
Could not find "targil2_2_cpp" in "auto.cfg".
 
תוכלי לתקן את זה, כדי שנוכל להגיש ולקבל ציון? תודה מראש.
'''תוקן''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 18:59, 10 בנובמבר 2012 (IST)
 
== תרגיל 3, שאלה 3 ==
 
אם חלק מהפעולות שלנו הן כמעט זהות לפעולות שכבר מימשנו בהרצאה או בתרגול (הוספה או הוצאה מעץ וכו'), האם יש צורך לממשן מחדש, או שאפשר לכתוב משהו בסגנון "כמו פעולת הכנסה לעץ, רק עם השינוי הקטן הזה (..)"?
תודה!
 
'''כן, אבל תשתדלו לרשום בכל זאת בצורה של פסאודו קוד כמה שאפשר''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 16:40, 12 בנובמבר 2012 (IST)
 
מה זה אומר? צריך להתחיל לממש בפסאודו קוד סיבובי עץ, הכנסת והוצאת איברים?  [[משתמש:ABAB|ABAB]] 18:55, 20 בנובמבר 2012 (IST)
 
:לדעתי לא זו הייתה הכוונה של ג'ניפר. אם אתה משתמש בפעולות המוכרות אז אין בעיה להשתמש בהן כמו "קופסה שחורה" אבל אם אתה למשל משתמש בפעולה שהיא "כמו פעולת החיפוש אבל מחפשת 5 איברים בו זמנית במקום 1 בכל פעם" אז תממש. אשמח אם ג'ניפר תתקן במידה ואני טועה.
 
'''נכון - אם יש שינויים אתה חייב לפרט. פשוט תפרט בקצרה את השינוי בפונקציה הקיימת. לא ירדו נקודות על צורת הפסאודו-קוד. פשוט שיהיה ברור מה הפונקציה עושה''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 12:49, 22 בנובמבר 2012 (IST)
 
== שאלה לגבי תרגיל 4 ==
 
איך יכול להיות שהפלט הראשון הוא Already inside, כשבהתחלה העץ שלי ריק?
'''לא לכל שורה בקלט צריך להדפיס פלט. למשל כשמכניסים ספר, אז אין צורך בפלט. יהיה פלט אם מנסים להכניס ספר שכבר קיים! אז השורה "already inside" מתייחסת לשורה ה-4 בקלט...'''
:תודה רבה, לא שמתי לב לזה...
 
== שאלה לגבי תרגיל 4 ==
 
1) האם מותר להשתמש בספריות STL לדברים שהם לא יישום של העץ? מחסנית, תור וכאלה... '''כן, אפשר, אבל שוב רק בשביל זה. אל תשכחו שיש בדיקה ידנית...''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 11:58, 23 בנובמבר 2012 (IST)
 
2) מה התנאי עצירה של התכנית? '''התוכנית וצרת כאשר נגמרו הפקודות''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 11:58, 23 בנובמבר 2012 (IST)
 
== הוצאת איבר מעץ (תרגיל 4) ==
 
כשאני מוציא איבר מעץ avl שאינו עלה, אמרנו בהרצאה שעושים את אחד מהדברים הבאים:
# מחליפים אותו באיבר הכי ימני בתת העץ השמאלי שלו.
# מחליפים אותו באיבר הכי שמאלי בתת העץ הימני שלו.
התוצאה, בשני המקרים, היא שהאיבר שלנו הופך להיות עלה ואז אין לי בעיה למחוק אותו (וכמובן שאחרי זה אני גם צריך לאזן את העץ).
 
עם זאת, בכל מקרה הנתונים יהיו שמורים בעץ בצורה שונה, ולכן כשאני ארצה להדפיס מהעץ (ע"י Inorder או אחת מהסריקות האחרות) אני אקבל שהנתונים יודפסו בסדר שונה. מכיוון שבבדיקה האוטומטית מתקבל רק סדר מסוים, לפי איזו משתי האופציות מעלה עליי לפעול? תודה.
 
'''תחליפו אותו באיבר הכי ימני בתת העץ השמאלי שלו. ב-Inorder זה לא משנה כי זה מדפיס את הערכים בסדר הטבעי שלהם מהקטן לגדול. זה משנה ב-Postorder ו-Preorder. '''
 
--[[משתמש:Jeniiiiibee|Jeniiiiibee]] 09:52, 25 בנובמבר 2012 (IST)
 
== עוד בדיקות לתרגיל 4 ==
 
אפשר להוסיף בבקשה עוד דוגמאות לבדיקות והפלט שלהם עבור תרגיל 4? ספציפית בדיקות עם שימוש ב-Remove.
 
== שאלה בתרגיל4 ==
 
האם יכול להיות ספר שאין לו משאיל? אם כן, מה יהיה במידע על המשאיל, אם לא זה הכי טוב! ''' לא, לא יכול להיות כזה מצב'''
 
== תרגיל 5 - זמן ריצה ==
 
לא נרשמה הגבלה לזמן הריצה של תרגיל 1 ו-3. מה היא? '''תציע אלגוריתמים יעילים ככל שאפשר'''
 
== תרגיל 5 שאלה 1 ==
 
האם אפשר להשתמש במבנה הנתונים vector (כלומר, זה שממומש ב-stl של c++, כמעין מערך שגדל באופן דינמי ועם גישה של o(1))? תודה. '''כן, רק תסביר בקצרה על מבנה הנתונים''' --[[משתמש:Jeniiiiibee|Jeniiiiibee]] 11:56, 9 בדצמבר 2012 (IST)
 
== תרגיל 6 שאלות 1-2 ==
 
כתוב למצוא את המסלול "הקצר ביותר". הכוונה מבחינת משקל או מבחינת כמות קודקודים בדרך? '''המסלול הקצר ביותר זה המסלול בעל המשקל הנמוך ביותר'''
 
== תרגיל 6 שאלה 3 א' b ==
 
מהו גודל הצעד? '''ב- linear probing, אם המקום אליו הגענו תפוס, הולכים למקום הבא במערך, כלומר הצעד הוא 1. אם גם זה תפוס, הולכים למקום הבא וכו' עד שנמצא מקום ריק. '''
 
== ציונים בתרגיל 2 ==
 
את יכולה בבקשה להעלות את הציונים בתרגיל 2? '''יש עדיין עיכוב עם הציונים (הבודק חולה). עד סוף השבוע נפרסם את הציונים של תרגיל 2 ו-3. מצטערים...'''
 
== שאלה 3 סעיף א' c ==
 
האם בסעיף c בשאלה 3 א', גודל הטבלה הוא m*2 או שאחרי שמבצעים h1+h2 עושים שוב mod11?

גרסה אחרונה מ־11:11, 17 בפברואר 2013

חזרה לדף הקורס


גלול לתחתית העמוד


הוספת שאלה חדשה

הוסף שאלה חדשה (רשום כותרת לשאלה, רשום את תוכן השאלה ולחץ על שמירה למטה מימין לסיום).

-עזרה על עיצוב הטקסט וכתיב מתמטי תוכלו למצוא כאן

אם אתם רוצים לשאול שאלה עליכם ליצור חשבון משתמש באתר.

שאלות

שאלה למבחן בנושא עצי 2-3

האם בעצי 2-3 הערכים בהכרח בעלים או שהם מאוכסנים בקודקודים הפנימיים?
מצאתי מספר מקומות באינטרנט ([1] [2]) שלפיהם המידע מאוכסן גם בקודקודים הפנימיים.

הערכים נמצאים רק בעלים. בקודקודים הפנימיים יש אינדקסים. העלתי מצגת ב"חומר עזר"

שאלה למבחן בנושא מיונים

לQuick Sort ו-MSD Radix יש גירסאות in-place ויש גרסאות יציבות. באחת השאלות ממבחנים קודמים נשאל "תן שלוש דוגמאות למיונים יציבים ושלוש דוגמאות למיונים לא יציבים". האם אפשר להכניס את שניהם לשתי הקטגוריות או שאנחנו מדברים רק על גירסאת in-place שאינה יציבה?

אפשר להכניס ל-2 הקטגוריות

שאלה מבחינה - גיבוב קוקייה

נתונות פונקציות עירבול לעירבול קוקו – הפונקציה הראשונה היא גימטריה, הפונקציה השניה גימטריה ועוד עשר. 
הכנס לפי הסדר את המילים הבאות: דוד,משה, דודי, שמה, יד, כד,דל

למעשה כאן, אין בעיה, עד שאני מגיע להכנסת המילה כד. כשאני מכניס אותה אני נכנס למצב של לולאת "קוקו" אינסופית, שכן יש לי 4 מילים שמתחרות על שלושה מקומות:

  • דוד - 14/24
  • דודי - 24/34
  • יד - 14/24
  • כד - 24/34

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

כמו כן, בקלט עצמו יש הפרה של כללי גיבוב קוקיה, שכן בכיתה אמרנו שצריך להתקיים הכלל הבא:

אם x שונה מ-y אז אחת מפונק' הגיבוב תחזיר עבורם ערכים שונים.

כלל זה לא מתקיים עבור הזוגות:

  • דוד + יד
  • דודי + כד
  • משה + שמה

בכל אופן, מה עושים בשאלה כזו? איך עונים עליה? תודה מראש.

זה היה בדיוק הרעיון בשאלה - שגיבוב קוקיה לא עובד עם הפונקציות האלה

עצי סיפא + suffix link

הי ג'ניפר, תוכלי להעלות את האלגוריתם לבניית עצי סיפא תוך שימוש בספיקס לינק כפי שאמרת שתעשי? תודה. נמצא ב"חומר עזר"

ציוני תרגילים

איך נקבע ציון התרגיל הסופי?
אפשר לא להגיש אחד תכנות וגם לא להגיש אחד תאורטי?
מעל ממוצע מסויים בציון תרגיל הוא הופך להיות 100?

כבר כתבתי את זה בהודעות. מתוך סה"כ 9 תרגילים, לא יילקחו בחשבון תרגיל אחד תכנות ואחד תאורטי

האם מעל ציון ממוצע תרגיל מסויים הוא הופך להיות 100? (לדוגמא, מעל ממוצע 96, ציון התרגיל יהיה 100)

לא.

ציונים

מתי תעלי את הציונים של תרגיל 7? שנדע אם להגיש או לא את התרגיל האחרון. הציונים נמצאים דף ההודעות. בהצלחה