ספירת מספר צמתים בעץ לא בינארי

vinney

Well-known member
אנחה

ניסינו. עם מי את חושבת שאת מדברת? אנחנו את הדברים האלה עשינו לפני 15 שנה עם עיניים עצומות. את חושבת שאת בפורום של התיכון שלך? את לא. יש לך טעות בקוד. אנחנו יכולים לנסות עד מחרתיים, רוב הסיכויים שלא ננחש מה הטעות שעשית. רוצה שנעזור לך למצוא אותה? תעלי את הקוד שלך ונעזור לך.
 

אנחה

New member
לפני 15 שנה ? אולי בגלל זה שכחת הכל.

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

אנחה

New member
בהצלחה.

לי אין שום בעיה, הקוד שהצגתי עובד, הקוד שלכם עובד רק בתאוריה (או שאולי הוא עבד לפני 15 שנה, כשהעצים היו רק בינארים
). בהצלחה.
 

vinney

Well-known member
(נורא השתעשעתי מההודעה האחרונה הזאת

אגב) רוצה לשתף אותנו באיפה את לומדת? סתם שנדע מאיפה לא לקחת אנשים...
 

arnonrgo

New member
כמו בעץ בינארי

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

אנחה

New member
מה קשור הבן הכי ימני והבן הכי שמאלי ?

ומה עם הבנים שבאמצע ? בצורה הזו אף אחד לא יגיע אליהם.
 

אנחה

New member
סליחה, תיקון :

"בקריאה רקורסיבית לבן הכי שמאלי ולשכן ימני" זו כבר רעיון מעניין יותר
1. זה שונה לחלוטין מהנאמר באשכול עד כך. 2. ללא קשר לזילזול, אתה מסכים איתי שהלוגיקה שנאמרה קודם לכ ע"י שאר הגולשיםן, לא תעבוד ?
 

arnonrgo

New member
תגובה

לגבי 1 - נכון אז מה לגבי 2 - כן תעבוד זה רק עניין של תנאי עצירה נכונים לרקורסיה. מה שהצעתי יותר פשוט היות והוא מאפשר לך להתיחס לעץ כעץ בינארי וזה פתרון שכבר עובד אצלך ארנון
 

אנחה

New member
"רק תנאי עצירה..." ../images/Emo13.gif

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

vinney

Well-known member
מה הבעיה עם תנאי העצירה של user32?

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

arnonrgo

New member
לדעתי אין בעיה בתנאי עצירה של user32

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