ABA


"צריך עזרה בתרגיל בעיצוב תוכנה (עצים בינאריים)"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6060 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6060
yk

   19:54   26.05.03   
אל הפורום  
  צריך עזרה בתרגיל בעיצוב תוכנה (עצים בינאריים)  
 
   התרגיל הוא מהבגרות של שנה שעברה:

http://rotter.net/User_files/nor/3ed2465d495aa1dd.gif

לא הצלחתי, לא הבנתי איך לעשות...
מישהו יכול לעזור?
בבקשה זה די דחוף (המגן בקרוב)

תודה מראש


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  יש בספר עיצוב תוכנה Vidi 27.05.03 14:46 1
     לא כל-כך הבנתי...אתה יכול לפרט יותר? yk 27.05.03 15:32 2
         אתה מכיר את טיפוס הנתונים תור? Vidi 27.05.03 16:28 3
             הבנתי את הרעיון...לא כ''כ את המימוש yk 27.05.03 16:52 4
     אפשר יותר יעיל(מבחינת סיבוכיות) dryice 27.05.03 23:45 5
         מצטער אבל לא הבנתי =\ yk 28.05.03 00:17 6
             את הפתרון עם BFS הבנת? dryice 28.05.03 13:13 7
             אחי בבגרות של השנה אין סריקה לפי רמות :) TheCoolMan 03.06.03 22:17 8
                 אני שמח לדעת מה זה BFS :) Vidi 04.06.03 19:25 9
                 כן אחי עכשיו שמתי לב... yk 04.06.03 22:02 10

       
Vidi
חבר מתאריך 1.10.17
591 הודעות
   14:46   27.05.03   
אל הפורום  
  1. יש בספר עיצוב תוכנה  
בתגובה להודעה מספר 0
 
ייצוג לאלגוריתם סריקה לפי רמות...
אחרי שאתה סורק לפי רמות אתה בודק כל רמה אם היא עולה או יורדת...
מובן
?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yk

   15:32   27.05.03   
אל הפורום  
  2. לא כל-כך הבנתי...אתה יכול לפרט יותר?  
בתגובה להודעה מספר 1
 
   תודה מראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Vidi
חבר מתאריך 1.10.17
591 הודעות
   16:28   27.05.03   
אל הפורום  
  3. אתה מכיר את טיפוס הנתונים תור?  
בתגובה להודעה מספר 2
 
אם כן אז האם ראית בספר "עיצוב תוכנה" את האלגוריתם
סריקה לפי רמות?
אם כן
תוסיף לו שהוא יפריד כל רמה לתוך רשימה...
ואז תבדוק אם הרשימה ממוינת
קשה?!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yk

   16:52   27.05.03   
אל הפורום  
  4. הבנתי את הרעיון...לא כ''כ את המימוש  
בתגובה להודעה מספר 3
 
   איך אני מפריד כל רמה לתוך רשימה?
הרי מספר הרמות לא ידוע מראש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   23:45   27.05.03   
אל הפורום  
  5. אפשר יותר יעיל(מבחינת סיבוכיות)  
בתגובה להודעה מספר 1
 
   בסריקת BFS אתה צריך O(N) זכרון נוסף, כאשר N מספר הצמתים.

אפשר לפתור בO(H) זכרון נוסף H הוא גובה העץ, שזה בעץ מאוזן
יוצא log(N)

כמובן שאי אפשר בפחות מO(N) זמן.

נסרוק העץ DFS, נגלה מה עומקו, נכין מערך שלמים בגודל מתאים,
נאתחל את האיברים הזוגיים לMIN_INT ואת האי-זוגיים לMAX_INT.

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

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yk

   00:17   28.05.03   
אל הפורום  
  6. מצטער אבל לא הבנתי =\  
בתגובה להודעה מספר 5
 
  
אפשר להסביר בצורה יותר פשוטה?

תודה מראש...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   13:13   28.05.03   
אל הפורום  
  7. את הפתרון עם BFS הבנת?  
בתגובה להודעה מספר 6
 
   כי הוא יותר פשוט, וההבדל ביעילות לא גדול.
שניהם O(N) זמן.
הBFS הוא O(N) זכרון נוסף.
ואילו הDFS על עץ כללי במקרה הרע ביותר(שרוך) הוא גם O(N)
אלא שבעץ מאוזן או עץ שהוכנסו אליו ערכים אקראיים(לא ממוינים)
הDFS יוצא O(Log(N))

הפתרון שלי:
1) סרוק את העץ DFS מצא עומק מקסימלי.
2) הקצה דינאמית מערך ARR של משתנים, שאורכו כעומק העץ.
3) אתחל את האיברים הזוגיים במערך לערך מינמלי של integer
הוא MININT, ואת האיברים האי-זוגיים לMAXINT

4) סרוק את העץ DFS בשנית, עבור כל צומת בצע:
4.1) סמן את עומק הצומת בi.
4.2) אם הצומת זוגי וערך הצומת קטן מARR[i] החזר FALSE
4.3) אם הצומת אי זוגי וערך הצומת גדול מARR[i] החזר FALSE
4.4) הצב בARR[i] את ערך הצומת.
5) החזר אמת.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheCoolMan

   22:17   03.06.03   
אל הפורום  
  8. אחי בבגרות של השנה אין סריקה לפי רמות :)  
בתגובה להודעה מספר 6
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Vidi
חבר מתאריך 1.10.17
591 הודעות
   19:25   04.06.03   
אל הפורום  
  9. אני שמח לדעת מה זה BFS :)  
בתגובה להודעה מספר 8
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yk

   22:02   04.06.03   
אל הפורום  
  10. כן אחי עכשיו שמתי לב...  
בתגובה להודעה מספר 8
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net