C#| פעולה חיצונית לעץ בינארי - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

C#| פעולה חיצונית לעץ בינארי


raiman1

Recommended Posts

  • תגובות 32
  • נוצר
  • תגובה אחרונה

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

קישור לתוכן
שתף באתרים אחרים

כן, תנאי העצירה שלך סבבה, תשאיר אותו.

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

קישור לתוכן
שתף באתרים אחרים

הוספתי עוד חלק לתנאי. זה טוב? האם אני צריך להוסיף בהתחלה של הפעולה שאם t=null אז הפעולה תחזיר false ?(למקרה שצד אחד NULL והשני לא)


if(t.GEtleft!=null && t.GetLeft.getinfo==t.getinfo || t.getright!=null&&t.getright.getinfo==t.getinfo)
return onepath(t.getleft)||onepath(t.getright));

קישור לתוכן
שתף באתרים אחרים

יותר טוב, אבל תחשוב איך אתה יכול לסדר את התנאים שלך מחדש כדי להימנע מהבדיקה הזו. תזכור ש-onepath זו פונקציה שמחזירה boolean, ולכן אתה יכול להשתמש בתוצאה שלה ב-if בדיוק כמו כל שאר התנאים. תפריד לחלוטין בין צד ימין וצד שמאל - שים את כל הבדיקות על צד ימין בתנאי אחד, ובתנאי אחר את כל הבדיקות על צד שמאל.

קישור לתוכן
שתף באתרים אחרים

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

בסודף לא הבנתי למה מה שעשיתי קודם לא טוב..

קישור לתוכן
שתף באתרים אחרים

ארכיון

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


×
  • צור חדש...