ערכתי לאחרונה בתאריך 07.03.05 בשעה 17:36 בברכה, דני15
אני לא מבין למה אנשים קוראים לזה פסקל !!! זה נקרא עיצוב תוכנה. מבני נתונים. פסקל זו רק סביבת עבודה, לישום הדברים. לגבי שאלה 3,
תסתכל על האלגוריתימים בזמן שאתה קורא את זה.
נתבונן באלגוריתם סוד3 תחילה כיוון שהוא היחיד שלא תלוי באלגוריתימים האחרים. זהו אלגוריתם רקורסיבי. נבדק האם העץ ריק - אם כן מחזירים אמת ונגמר הסיפור, אחרת מוציאים את השורש ובודקים אם x המתקבל כפרמטר שווה לו, אם כן מחזירים שקר וסיימנו ומבצעים את אותו התהליך על תת העץ השמאלי והימני של העץ. ואותו תהליך רקורסיבי נעשה על תתי העצים של תתי העצים של העץ הראשי עד שמגיעים מצב שבו סרקנו את כל העץ וזה תנאי העצירה, וחוזר אמת. התנאי שנבדק - האם יש צומת השווה ל-x אז תכלס: האלגוריתם בודק ש- x לא נמצא בעץ. אם נמצא - מוחזר שקר, אחרת אמת. אלגוריתם סוד2 מקבל עץ ורשימה ומשתמש באלגוריתם סוד3. בודקים עבור כל איבר אם האיברים בתתי העצים שלו לא שווים לו(בעזרת סוד3), אם כן, האיבר נכנס לרשימה. האלגוריתם הראשון משתמש בסוד2 בשביל להחזיר את הרשימה. תכלס: מוחזרת רשימה של איברים מהעץ שהצאצאים שלהם לא שווים להם.
סעיף ג' זה דיי ברור. אם כולם שונים, תמיד התנאי מתקיים וכל האיברים יכנסו לרשימה.
אני מבין שזה נורא מסבך והאמת שגם אותי וגם מורים מסתבכים בזה לא רק תלמידים. כדאי לתרגל המון כדי להבין את רעיון הרקורסיה והעצים הבינריים. מקווה שהבנת