לגבי שאלה 4 - לכל מי שראה את הפיתרון שלי..
2 posters
עמוד 1 מתוך 1
לגבי שאלה 4 - לכל מי שראה את הפיתרון שלי..
חברים, אני נאלץ לבקש סליחה מכל מי שהראתי לו את הפיתרון שלי לשאלה 4. הוא באמת פותר את השאלה, אבל לא ביעילות שביקשו. זה בכל זאת יוצא יותר ממה שהיה צריך.
יש לי רעיון לאלגוריתם שיפתור, אני עכשיו הולך לעבוד על זה. כשאסיים אכתוב כאן, או שנדבר בכיתה.
ברכה והצחלה,
חן "המתכנת המתעתע" מסיקה
יש לי רעיון לאלגוריתם שיפתור, אני עכשיו הולך לעבוד על זה. כשאסיים אכתוב כאן, או שנדבר בכיתה.
ברכה והצחלה,
חן "המתכנת המתעתע" מסיקה
chenmesika- by ref
- מספר הודעות : 18
Join date : 13.04.09
הפונקציה מאוד דומה לזאת של הגובה
Height והפונקציה הזאת מאוד דומים, רק שבזאת יש להוסיף משתנה אינטג'רי שעובר ביי רפרנס. את הנתון שהמשתנה הזה מצביע עליו, יש לעדכן בקוטר המקסימאלי שמתגלה בזמן הריצה על העץ.
תחשוב על זה אדון מסיקה, האיש תלת המוחי!
תחשוב על זה אדון מסיקה, האיש תלת המוחי!
כן עליתי על העניין
גיליתי את הפתרון ביום שישי בצהריים. כתבתי את זה. עכשיו זה קצר ומגניב
אחי, אני לא באמת יודע אם זה משפר משהו, ראיתי את האלגוריתם שאתה כתבת (שהוא מעולה!). נראה לי שאתה יכול במעטפת לבדוק את התנאי של העץ הריק, ואז בפונקציה העוזרת (זו שבסוף עושה את כל העבודה...) התנאי עצירה שלך הם ככה: 1. אם אתה עלה. 2. אם תת-עץ ימין ריק, ואז יש לך רק תת-עץ שמאל. 3. אם תת-עץ שמאל שלך ריק ואז יש לך רק תת-עץ ימין. ואז ב-else אז העניין שיש לך גם תת-עץ ימין וגם שמאל. ששם אתה כבר מכיר. שולח ברקורסיה את ימין ואת שמאל עם פרמטרי פלט שיחזירו לך את הגובה של השורש ביי-רפרנס ויחזירו כ- int את המסלול הכי ארוך אי שם בתת-עץ. מעדכן ביי-רפרנס את הגובה הנוכחי להיות הגבוה מבין מה שחזר מימין ומשמאל +1 (כדי "לחבר" את הקשת שלך אליו..) ואז מה שאתה מחזיר זה המקסימום מבין גובה ימין + גובה שמאל + 2 לבין המקסימום בין קוטר שמאל שחזר לך וקוטר ימין שחזר לך מהרקורסיות.
דרך אגב, אם כל זה איכשהו משפר במשהו את היעילות, אז אולי בקבוע ואני חושב שזה זניח. הכי חשוב שזה עובד ויעיל ב-n.
נשמע בלגאן משוגע אבל באמת שזה לא
תעשו חיים ואם מישהו צריך עזרה אשמח לנסות לעזור
ברכה והצלחה,
חן "עתיד להיות מפוטר הייטק גדול מאד" מסיקה
אחי, אני לא באמת יודע אם זה משפר משהו, ראיתי את האלגוריתם שאתה כתבת (שהוא מעולה!). נראה לי שאתה יכול במעטפת לבדוק את התנאי של העץ הריק, ואז בפונקציה העוזרת (זו שבסוף עושה את כל העבודה...) התנאי עצירה שלך הם ככה: 1. אם אתה עלה. 2. אם תת-עץ ימין ריק, ואז יש לך רק תת-עץ שמאל. 3. אם תת-עץ שמאל שלך ריק ואז יש לך רק תת-עץ ימין. ואז ב-else אז העניין שיש לך גם תת-עץ ימין וגם שמאל. ששם אתה כבר מכיר. שולח ברקורסיה את ימין ואת שמאל עם פרמטרי פלט שיחזירו לך את הגובה של השורש ביי-רפרנס ויחזירו כ- int את המסלול הכי ארוך אי שם בתת-עץ. מעדכן ביי-רפרנס את הגובה הנוכחי להיות הגבוה מבין מה שחזר מימין ומשמאל +1 (כדי "לחבר" את הקשת שלך אליו..) ואז מה שאתה מחזיר זה המקסימום מבין גובה ימין + גובה שמאל + 2 לבין המקסימום בין קוטר שמאל שחזר לך וקוטר ימין שחזר לך מהרקורסיות.
דרך אגב, אם כל זה איכשהו משפר במשהו את היעילות, אז אולי בקבוע ואני חושב שזה זניח. הכי חשוב שזה עובד ויעיל ב-n.
נשמע בלגאן משוגע אבל באמת שזה לא
תעשו חיים ואם מישהו צריך עזרה אשמח לנסות לעזור
ברכה והצלחה,
חן "עתיד להיות מפוטר הייטק גדול מאד" מסיקה
chenmesika- by ref
- מספר הודעות : 18
Join date : 13.04.09
עמוד 1 מתוך 1
Permissions in this forum:
אתה לא יכול להגיב לנושאים בפורום זה