נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: עזרה- חיפוש בעץ

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
מירב
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 06 April 2008 בשעה 17:47 | IP רשוּם
ציטוט מירב

שלום,
אני צריכה עזרה:
אני מחפשת מימוש ב C# של בניית עץ ומימוש של חיפוש בעץ בשיטת bottom-up.

אני לא מצאתי, אשמח אם תוכלו לעזור לי, זה יחסוך לי זמן רב מאוד :)

תודה מראש,
מירב.

חזרה לתחילת העמוד הצג את כרטיס החבר של מירב חפש הודעות אחרות של מירב בקר בדף הבית של מירב
 
virtual888
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 09 April 2008
משתמש: מנותק/ת
הודעות: 26
נשלח בתאריך: 09 April 2008 בשעה 18:18 | IP רשוּם
ציטוט virtual888


Class BTreeNode
}
 ;public BTreeNode leftBranch
; public BTreeNode rightBranch
; public type storedValue

{

זה המימוש בקשר לחיפוש אני לא זוכר, תסבירי את החימוש ואני יביא לך..

 

חזרה לתחילת העמוד הצג את כרטיס החבר של virtual888 חפש הודעות אחרות של virtual888
 
מירב
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 15 April 2008 בשעה 19:44 | IP רשוּם
ציטוט מירב

בעצם מימוש של עץ(שלם אך לא מאוזן)  זה ברשימה מקושרת, נכון?

 

חיפוש שאני מחפשת הוא POST ORDER:

הוא הולך ככה: סייר בתת עץ ימני, סייר בתת עץ שמאלי, לבקר בשורש. אני יודעת שהמימוש שלו רקורסיבי, אבל לא מצאתי כלום.

 

תודה רבה רבה!

מירב.

חזרה לתחילת העמוד הצג את כרטיס החבר של מירב חפש הודעות אחרות של מירב בקר בדף הבית של מירב
 
virtual888
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 09 April 2008
משתמש: מנותק/ת
הודעות: 26
נשלח בתאריך: 16 April 2008 בשעה 13:03 | IP רשוּם
ציטוט virtual888

המימוש של POSTORDER

VOID POSTORDER(BTreenode node)
{
if (node==null) return;
POSTORDER(node.leftBranch);
POSTORDER(node.rightBranch);
Console.WriteLine("node:",node.storedValue);
}

חזרה לתחילת העמוד הצג את כרטיס החבר של virtual888 חפש הודעות אחרות של virtual888
 
מירב
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 16 April 2008 בשעה 16:16 | IP רשוּם
ציטוט מירב

תודה רבה!
חזרה לתחילת העמוד הצג את כרטיס החבר של מירב חפש הודעות אחרות של מירב בקר בדף הבית של מירב
 
מירב
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 19 April 2008 בשעה 17:40 | IP רשוּם
ציטוט מירב

היי

אני מחפשת גם קוד של הכנסת מידע לעץ (לא בינארי ולא מאוזן אך שלם).

על מנת להשתמש במידע שבעץ אני אשתמש בפונקציית POST ORDER

 

תודה רבה רבה,

מירב

חזרה לתחילת העמוד הצג את כרטיס החבר של מירב חפש הודעות אחרות של מירב בקר בדף הבית של מירב
 
Dark Phoenix
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 22 December 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 50
נשלח בתאריך: 20 April 2008 בשעה 00:51 | IP רשוּם
ציטוט Dark Phoenix

בגלל שעץ הוא הגדרה רקורסיבית, כל צומת נחשבת עץ. אז כדי להכניס לעץ, נניח שהפונקציה מקבלת את הצומת שאליה אנחנו רוצים להכניס בן. הבעיה היא שהעץ הוא בעל דרגה לא ידועה (עץ לא בינארי ולא ידועה דרגתו), בגלל זה אפשר להשתמש בממשק של רשימה (במקרה של post order אפשר להשתמש בתור אבל זה לא חשוב), ולהוסיף לרשימה את הכתובת של הבן החדש. את הבן החדש מוסיפים דרך הקצאה דינאמית ונותנים לו רשימה ריקה בתור הבנים שלו
בהצלחה (:
חזרה לתחילת העמוד הצג את כרטיס החבר של Dark Phoenix חפש הודעות אחרות של Dark Phoenix
 
מירב
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 20 April 2008 בשעה 10:17 | IP רשוּם
ציטוט מירב

יש אפשרות לראות מימוש של זה? אני מוצאת הרבה מימושים של עץ בינארי וזה לא מה שאני צריכה :(

אני מאוד מאוד אשמח אם אוכל לראות את המימוש או לפחות pseudo code.

 

תודה רבה,

מירב.

חזרה לתחילת העמוד הצג את כרטיס החבר של מירב חפש הודעות אחרות של מירב בקר בדף הבית של מירב
 
Dark Phoenix
משתמש פעיל
משתמש פעיל


הצטרף / הצטרפה: 22 December 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 50
נשלח בתאריך: 20 April 2008 בשעה 11:32 | IP רשוּם
ציטוט Dark Phoenix

המימוש ממש פשוט, הבעיה היא בהגדרת העץ הלא בינארי. אני אנסה לכתוב את המימוש ב-C#:

Class BTreeNode
{
  public LIST nodes;
public integer storedValue;
{
מימוש של post order בעץ לא בינארי:

VOID POSTORDER(BTreenode node)
{
if (node==null) return;
 q = list_next(node.nodes,list_anchor(node.nodes));
 while (q != NULL) {
  POSTORDER(list_retrieve(node.nodes, q));
  q = list_next(node.nodes,q);
 }
Console.WriteLine("node:",node.storedValue);
{

זה מימוש עם ממשק של רשימה (אם את לומדת עץ בטח כבר סיימת רשימה). אני ממש גרוע ב-C# אז תקנו אותי אם התחביר לא נכון בהכנסה:
VOID insert_tree(BTreenode node, int value) {
 Leaf = new Btreenode();
 List_init(Leaf.nodes);
Leaf.Stored_value = value;
List_insert(node.nodes,list_anchor(node.nodes),Leaf);
}

הסבר: יצרתי עץ חדש, בעל רשימת בנים -ריקה- וערך שניתן לי כפרמטר. הוספתי אותו לרשימת הבנים של node כי לשם התבקשתי להוסיף את הבן. שוב, אני לא בטוח שכתבתי נכון כי לא למדתי C# משהו
חזרה לתחילת העמוד הצג את כרטיס החבר של Dark Phoenix חפש הודעות אחרות של Dark Phoenix
 
מירב
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 20 April 2008 בשעה 14:16 | IP רשוּם
ציטוט מירב

היי תודה רבה על העזרה!

פונקציות list_anchor, list_next, list_reteive זה פונקציות קיימות בC#?

 

אני קצת התחלתי להסתבך..

חזרה לתחילת העמוד הצג את כרטיס החבר של מירב חפש הודעות אחרות של מירב בקר בדף הבית של מירב
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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