ABA


"רקורסיה, כלי שימושי ?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20623 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20623
aCoZz 
חבר מתאריך 19.7.06
17692 הודעות
   23:11   05.04.14   
אל הפורום  
  רקורסיה, כלי שימושי ?  
 
   סתם משהו שעלה לי לראש..
אני סטודנט למדעי המחשב ובקורס אלגוריתמים כל הזמן בכח דוחפים רקורסיות..
אני עובד כמפתח בסביבת NET יותר מחצי שנה בחברה של GIS
ואף פעם לא השתמשתי ברקורסיה..
לפי מה שאני מבין הרקורסיה נועדה לשיפור ביצועים אבל הקוד לא ממש אינטואיטיבי
נכון שיש מבני נתונים כמו עצים שדיי דורשים את זה בסריקה אבל יצאה לי לממש מבני נתונים כאלה לא ברקורסיה

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

חחח אולי אני טועה פה בכל זאת אין לי ניסיון של שנים..
מה אתם אומרים ?


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  רקורסיה משפר ביצועים? inno3D 05.04.14 23:25 1
     כן... התכוונתי לזמן ריצה :| aCoZz  05.04.14 23:39 2
         סבבה.. רקורסיה זה לא כלי לשיפור זמן ריצה inno3D 06.04.14 00:01 3
     לגבי השורה האחרונה שלך, מתכנתי זמן אמת יחלקו עליך... ShocKi  22.04.14 10:07 11
  רקורסיה ויעילות בדרך כלל לא באים ביחד.. VeNom  06.04.14 08:25 4
  דווקא קל מאוד לממש דברים ברקורסיה... השאלה היא אם היא בעמדת זנב או לא... Zvikadori 06.04.14 10:25 5
  באיזו חברה אתה עובד? Nesher  06.04.14 20:21 6
  וואלה אני עובד 8 חודשים, ויצא לי להשתמש המון פעמים.. בעיקר לסריקות עץ או בניית איציק2 06.04.14 22:13 7
     עבודה עם עצים זה רק רקורסיה.. nimroder 21.04.14 08:33 8
  רקורסיה זה חרא ומשתמשים בזה רק שאין ברירה. TheKid 21.04.14 10:18 9
  מלמדים את זה כי זה משהו בסיסי... ובהחלט יש לזה שימושים. ShocKi  22.04.14 09:59 10
  רקורסיות בא להכל על מימושים, ממש לא לשפר ביצועים... ldan192  24.04.14 05:19 12

       
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   23:25   05.04.14   
אל הפורום  
  1. רקורסיה משפר ביצועים?  
בתגובה להודעה מספר 0
 
   אתה מעמיס מלא על הזיכרון ברקורסיה
למרות שבחיים לא תבדיל בביצועים

בקרנל של מערכות הפעלה אין רקורסיות בכלל
כי זה יחסית מעמיס על הזכרון
והקרנל חייב לרוץ כמה שיותר מהר

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
aCoZz 
חבר מתאריך 19.7.06
17692 הודעות
   23:39   05.04.14   
אל הפורום  
  2. כן... התכוונתי לזמן ריצה :|  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   00:01   06.04.14   
אל הפורום  
  3. סבבה.. רקורסיה זה לא כלי לשיפור זמן ריצה  
בתגובה להודעה מספר 2
 
   זה בא לפשט מימוש של אלגוריתמים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   10:07   22.04.14   
אל הפורום  
  11. לגבי השורה האחרונה שלך, מתכנתי זמן אמת יחלקו עליך...  
בתגובה להודעה מספר 1
 
  


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   08:25   06.04.14   
אל הפורום  
  4. רקורסיה ויעילות בדרך כלל לא באים ביחד..  
בתגובה להודעה מספר 0
 
   נכון שמלמדים אותך בתואר שכל דבר רקורסיבי אפשר לממש בצורה איטרטיבית, אבל הצורה האיטרטיבית היא די מימוש כמעט מלא של רקורסיה מאחורי הקלעים(עם מחסנית) מה שבגדול אומר שיש דברים שקשה\אי אפשר לכתוב בלי רקורסיה.

איך היית ממש סריאליזציה של אובייקט בלי רקורסיה? אתה לא יודע כמה רמות אתה צריך "להיכנס פנימה".


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Zvikadori
חבר מתאריך 3.8.02
5369 הודעות
   10:25   06.04.14   
אל הפורום  
  5. דווקא קל מאוד לממש דברים ברקורסיה... השאלה היא אם היא בעמדת זנב או לא...  
בתגובה להודעה מספר 0
 
   רקורסיה בעמדת זנב היא פתרון מצוין - מחד, קל להגיע לפתרון רקורסיבי, ומאידך, עמדת הזנב מתורגמת ללולאה בקומפיילר, משמעות הדבר שלא מאבדים מהביצועים, דורסים את המחסנית במקום לפתוח עוד פריים וכו'.
מי שלא סומך על הקומפיילר, תמיד יכול לנסות להמיר רקורסיה כזו ללולאה בעצמו, לא תמיד זה קל וכבר עדיף לחשוב על פיתרון איטרטיבי מראש.


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

בתעשייה, נדיר שהיה לי צורך לעבוד עם רקורסיה.

http://he.wikipedia.org/wiki/%D7%A8%D7%A7%D7%95%D7%A8%D7%A1%D7%99%D7%99%D7%AA_%D7%96%D7%A0%D7%91

שווה לקרוא את הערך באנגלית, אך הערך העברי מתומצת מצוין...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   20:21   06.04.14   
אל הפורום  
  6. באיזו חברה אתה עובד?  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
איציק2
חבר מתאריך 26.4.08
2436 הודעות
   22:13   06.04.14   
אל הפורום  
  7. וואלה אני עובד 8 חודשים, ויצא לי להשתמש המון פעמים.. בעיקר לסריקות עץ או בניית  
בתגובה להודעה מספר 0
 
   עץ..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
nimroder לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 25.9.09
8557 הודעות, 4 פידבק
   08:33   21.04.14   
אל הפורום  
  8. עבודה עם עצים זה רק רקורסיה..  
בתגובה להודעה מספר 7
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheKid לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.10.07
17978 הודעות, 1 פידבק
   10:18   21.04.14   
אל הפורום  
  9. רקורסיה זה חרא ומשתמשים בזה רק שאין ברירה.  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   09:59   22.04.14   
אל הפורום  
  10. מלמדים את זה כי זה משהו בסיסי... ובהחלט יש לזה שימושים.  
בתגובה להודעה מספר 0
 
   קודם כל כי שפות תכנות מאפשרות את זה...
אגב, יש שפות תכנות שיש בהן בעיקר רקורסיות scheme למשל.

בקומפילציה משתמשים הרבה ברקורסיה...


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   05:19   24.04.14   
אל הפורום  
  12. רקורסיות בא להכל על מימושים, ממש לא לשפר ביצועים...  
בתגובה להודעה מספר 0
 
להיפך, סביר להניח שהמעבד ידע לעשות יותר אופטימזציות על לולאות (בעדיפות של כמה שפחות מקוננות אלא מחולקות).

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


בברכה,
עידן


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

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

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



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