עבור לתוכן

בהצלחה לכל הנבחנים מחר במדעי המחשב :) - איך היה? תגובות ע"מ 4

Featured Replies

פורסם

איזה רכזים התקשרו היום למפקח בשביל שאלות?

  • תגובות 133
  • צפיות 7k
  • נוצר
  • תגובה אחרונה
פורסם

זה שT לא עץ ריק ולא עלה לא אומר שאחד מהתתי עצים שלו לא יכול להיות ריק.

אתה רציני ?

התנאי עלה לפחות איך שאני בניתי במבחן(זה לא פעולת ממשק צריך לכתוב אלגוריתם)

אומר

אם לא עץ ריק(תת עץ שמאלי(T) וגם לא עץ ריק(תת עץ ימני(T))

החזר אמת

אחרת

החזר שקר

פורסם

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

אם אחד מהם ריק והשני לא, יצא לך false וגם true, ז"א false,והוא לא יחשב כעלה אבל יהיה לו תת עץ ריק.

בקיצור היית צריך לבדוק 2 מקרים

פעם שהשמאלי ריק והימני לא, ואז צריך לזמן את איחוד_מסלול רק על אותו עץ שלא ריק

ולהפך.

פורסם

או וואלה טעות שלי

טוב מקווה שלא יירד יותר מדי :(

פורסם

פתרתי את זה בג'אווה, לכן הייתי צריך לממש את הפעולה.

ככה כתבתי את זה, אחד לאחד:


{
boolean left=false;
boolean right=false;
if (t.getLeft()==null&&t.getRight()==null)
return true;
if (t.getLeft()!=null)
left=t.getLeft().getInfo()==t.getInfo()&&onePath(t.getLeft());
if (t.getRight()!=null)
right=t.getRight().getInfo()==t.getInfo()&&onePath(t.getRight());
return(left||right);
}
	public static boolean onePath(BinTree t)

מקווה שזה נכון.

אם משהו מוצא בעיה, שידבר.

פורסם

לפי דעתי גם לא צריך לבדוק בהתחלה אם הוא עץ ריק, כי העץ מוגדר כעץ בינארי לא ריק, ואומרים לממש את הפעולה עבור אותו עץ.

מקווה שאני צודק.

פורסם

היה קל ;D

מקווה שלא יהיו טעויות שטוטיות... (מה שתמיד יהיה לי :smile1:)

עשיתי בפסקל + מודלים...

מודלים היה ממש קל (ואני חשבתי שאני לא הולך לדעת שם כלום...)

פורסם

לגבי שאלה 3.

השאלה מתחילה ככה: נתון עץ בינארי T לא ריק.

לכן לא צריך לבדוק אם העץ ריק.

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

יש לי הוכחה אם צריך.

פורסם

העץ עצמו לא ריק, אבל כאשר אתה מסתכל על זה רקורסיבית, אתה חייב לבדוק את המיקרה שהוא עלה.


{
boolean left=false;
boolean right=false;
if (t.getLeft()==null&&t.getRight()==null)
return true;
if (t.getLeft()!=null)
left=t.getLeft().getInfo()==t.getInfo()&&onePath(t.getLeft());
if (t.getRight()!=null)
right=t.getRight().getInfo()==t.getInfo()&&onePath(t.getRight());
return(left||right);
}
	public static boolean onePath(BinTree t)

שוב, משהו רואה פה בעיה?

זו שאלה מספר 3.

פורסם

יש כבר פתרונות של המבחן?

אני פתרתי את 1,2,18,20 נראה לי. (1 רקורסיה סוד,2 מסעדה, 18 תערוכה, 20 מעקב אחרי מחלקות יורשות)

ברקורסיה גיליתי שהפעולה sod1 מגלה כמה פעמים צריך לחלק מספר בשביל לאפס אותו (כמובן שהוא מתאפס רק בגלל שזה Int)

Sod2 סורקת מערך מתווך k עד לאורך המערך ומחזירה את כמות הפענים המקסימלית שנדרשה בשביל לאפס מספר במערך.

אני צודק?

פורסם

אפחד לא עשה שאלון 222?

סעמק יש לי שכתוב אבל הבוחן הניטרלי האידיוט לא יודע אנגלית...

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

פורסם

יש כבר פתרונות של המבחן?

אני פתרתי את 1,2,18,20 נראה לי. (1 רקורסיה סוד,2 מסעדה, 18 תערוכה, 20 מעקב אחרי מחלקות יורשות)

ברקורסיה גיליתי שהפעולה sod1 מגלה כמה פעמים צריך לחלק מספר בשביל לאפס אותו (כמובן שהוא מתאפס רק בגלל שזה Int)

Sod2 סורקת מערך מתווך k עד לאורך המערך ומחזירה את כמות הפענים המקסימלית שנדרשה בשביל לאפס מספר במערך.

אני צודק?

לפי מה שאני הבנתי, סוד1 מחזיר את ההפרש בין מספר הספרות של שני המספרים.

וסוד2 מחזיר את ההפרש הכי גבוה במערך בין 2 איברים סמוכים(מהאיבר הk עד הסוף)

פורסם

היה לי היום את הבחינה ב#C...

הלך טוב (שאלון 899222)!

אבל אי אפשר לדעת מה יהיה עם כל הקטנות... :P

פורסם
  • מחבר

לפי מה שאני הבנתי, סוד1 מחזיר את ההפרש בין מספר הספרות של שני המספרים.

וסוד2 מחזיר את ההפרש הכי גבוה במערך בין 2 איברים סמוכים(מהאיבר הk עד הסוף)

כע זה גם מה שאני כתבתי

פורסם

עשיתי ת'בגרות 2 יחידות בפסקל הלך סבבה לגמרי

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים