טוב אז ככה אפשר ליצג עץ כללי על ידי עץ בינארי ככה:
אם יש לו בן אז הוא יהיה בצד שמאל
ואם יש לו אח אז הוא יהיה בצד ימין ..עכשיו למשל הקובץ נראה כך:
a 3
b 1
c 0
d 0
e 0
אז העץ שיבנה אמור להראות כך:
עכשיו הפונקציה הרקורסיבית שכתבתי היא זאת אבל קודם כל הקדמה קטנה מה שלחתי כדי שתבינו..
טוב אז ככה שלחתי עץ btree t שלחתי מערך שאליו העברתי את הקובץ הוא בנוי מדרגה level ו info שזה סתם תו הפונקציה מקבלת גם line שמתחיל כמובן מ 0 ואת גודל המערך vec_size יותר נכון גודל העץ שקלטנו..
בקיצור עכשיו הבעייה שיש לי:
אני לא יודע מה הבעייה שלי פה אולי אני לא חושב נכון אם יש לכם דרך לעזור לי להבין את זה אז אני אשמח..
btree tree_build(btree t,FileTree Vec_G_Tree,int line,int vec_size) { t=tree_insert(t,Vec_G_Tree.info); if(Vec_G_Tree.level>0) { put_left(t,tree_build(get_left(t),Vec_G_Tree,++line,vec_size)); if(Vec_G_Tree.level==0) put_right(t,tree_build(get_right(t),Vec_G_Tree,++line,vec_size)); } return t; }
|
תודה רבה לכל העוזרים..