בעיה באיזון העץ - פולימורפיזם???

מנהל: TA_Isana

שלח תגובה
hazanoam
הודעות: 2
הצטרף: 13:32 07/04/2010

בעיה באיזון העץ - פולימורפיזם???

שליחה על ידי hazanoam » 11:44 26/04/2010

היי,
העבודה שלי מבצעת טוב את פעולות ההכנסה וההוצאה אך היא לא מאזנת את העץ.
כל מה שניסיתי לא עבד ולפי דעתי, התוכנית לא מגיעה בכלל לקוד של האיזון בגלל הפולימורפיזם.
את הקוד של האיזון הכנסתי במחלקה AVLsearchnode כאשר בפונקציית insert יש הפנייה לפונקצייה
check שבודקת האם העץ מאוזן או לא. אם הוא לא מאוזן הפונקצייה הזו מפנה לפונקצייה אחרת fix שבודקת
איזה סוג של חוסר איזון יש (מתוך הארבעה סוגים) ומשם יש הפנייה ל-leftRotation או ל-rightRotation.
כל פונקציות העזר הנ"ל הכנסתי למחלקה  AVLsearchnode.
אשמח לעצה/ההארה מה אני לא עושה נכון?????
תודה,

גל פלד
הודעות: 31
הצטרף: 20:15 27/10/2009

Re: בעיה באיזון העץ - פולימורפיזם???

שליחה על ידי גל פלד » 03:19 27/04/2010

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

בקיצור מה שאתה צריך לעשות זה לרשום במחלקה binrynode את הכותרות של הפונקציות שלך כאשר אין להם תוכן (עם הם מחזירות משהוא שיחזירו null אוו 0/-1 ) כי למעשה פונקציות אלה לעולם לא יממומשו הם נכתבו שם רק בשביל לחסוך כאב ראש אחר כך שזה היופי בפולימורפיזם :)

שלח תגובה

חזור אל “- מבני נתונים 2010”