12-05-2007, 20:53
|
|
|
חבר מתאריך: 01.12.06
הודעות: 9
|
|
הפתרון שלי הואהתבססתי על כך שלפי ההגדרה מקבלים עץ שאינו ריק.)
אם עץ ריק (T) אזי החזר `אמת`
אחרת
אחזר - שורש (T) -> X
אם לא עץ ריק(תת-עץ-שמאלי(t) וגם לא עץ ריק (תת-עץ-ימני(T) אזי
אחזר-שורש(תעש(T)) - > למשתנה Y
אחזר - שורש(תעי(T)) - > למשתנה Z
אם X=Z וגם X=Y אזי החזר מסלול_אחיד(תת-עץ-שמאלי(T) או מסלול_אחד(תת-עץ-ימיני(T))
אחרת {אם שני הבנים לא שווים לשורש}
אם X=Y אזי החזר מסלול_אחיד(תעש(T))
אחרת {אם הבן השמאלי לא שווה}
אם Z=X אזי החזר מסלול_אחיד(תעי{T})
אחרת {אם יש לו שני בנים, והם לא שווים לאבא שלהם}
החזר `שקר
אחרת {אם אין לאבא\שורש בהכרח שני בנים}
אם לא עץ-ריק(תת_עץ_שמאלי(T) אזי
אחזר_שורש(תת_עץ_שמאלי(T) - למשתנה Y
אם X=Y אזי החזר מסלול_אחיד(תעש{T})
אחרת
החזר `שקר`
אחרת
אם לא עץ-ריק(תת_עץ_ימיני{T} אזי - > אולי לא חובה לבדוק את התנאי הזה..
אחזר_שורש(תת_עץ_ימינ(T) - למשתנה z
אם X=z אזי החזר מסלול_אחיד(תעי{T})
אחרת
החזר `שקר
|