פורסם 2007 בפברואר 518 שנים מנסה לממש קוד הופמן.בניתי STRUCT TAV struct tav{ char val; int incidence; tav* right; tav* left; tav(); bool operator<(tav &t) const; bool operator>(tav &t) const; };אחרי שאני בונה את העץ, איך אני מקודדת אותו???זו בניית העץ שעשיתי: tav x, y, ezer; while(check()==false) { x = heap.RemoveTop(); y = heap.RemoveTop(); ezer.incidence = x.incidence + y.incidence; ezer.right = new tav(x); ezer.left = new tav(y); heap.Insert(ezer); } x = heap.RemoveTop(); y = heap.RemoveTop(); ezer.incidence = x.incidence + y.incidence; ezer.right = new tav(x); ezer.left = new tav(y); root = ezer; (פונקציה CHECK מחזירה FALSE אם נשארו במערך התוים יותר משני תוים)
פורסם 2007 בפברואר 718 שנים מחבר אולי בכל זאת???אם אני מוסיפה בSTRUCT לכל משתנה שדה כך שאם הוא בן ימני לאביו הוא יקבל ערך 1 , ואם הוא בן שמאלי הוא יקבל ערך 0.לאחר בניית העץ אני צריכה לעבור עליו מהשורש ולשרשר את המסלול דרכו אני עוברת עד לעלה <הרי כל התוים הם עלים> איך אני עושה את זה?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.