סריקה לפי רמות

המנהלים: TA_nimrod, TA_Adi, TA_Igor

סריקה לפי רמות

הודעהעל ידי adys » 23:38 23/01/2010

בסריקת עץ בינארי לפי רמות באמצעות iterator:
קוד: בחר הכל
public Object next() {
BinaryNode currNode = (BinaryNode) q.dequeue();
Object data = currNode.getData();
if (currNode.getLeft() != null) q.enqueue(currNode.getLeft());
if (currNode.getRight() != null) q.enqueue(currNode.getRight());
return data;
}


לא ברור לי לאן מצביע הcurrNode בכל פעם שאנחנו קוראים לשיטה next()?
ואיך מתבטאת ההתקדמות שלו?
האם כבר באתחול הiterator כל הערכים בעץ נכנסים לתור? (הבנאי מכניס רק את הroot...)

תודה!
adys
 
הודעות: 8
הצטרף: 20:30 28/10/2009

Re: סריקה לפי רמות

הודעהעל ידי בר כהן » 01:37 24/01/2010

הוא יצביע כל פעם על האיבר הבא לפי רמות, כאשר השמאלי ביותר יהיה הראשון, והימני ביותר יהיה האחרון..
ברגע שתוציא את אחד האיברים, ייכנסו לתור שני הבנים שלו, שמאל ואז ימין, וככה כאשר האיבר האחרון לאותה רמה יצא, בתוך התור יהיו לך
כל האיברים של הרמה הבאה.. וכן הלאה..
בר כהן
 
הודעות: 146
הצטרף: 18:24 22/10/2009


חזור אל - מבוא למדעי המחשב 2010

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ואורח אחד