חישוב זמן ריצה בפסקל- לולאות מקוננות

drorBIN

New member
חישוב זמן ריצה בפסקל- לולאות מקוננות

אם אפשר הסבר + תשובה על חישוב זמן הריצה של קטע התכנית הבא: עבור i מ-1 עד n בצע עבור j מ-1 עד n בצע 2*j --> (*רווח בשביל לעשות סדר בשורה, ה-b בשביל לעשות סדר שוב, לא להתייחס.*) a[i,j]b
 

vinney

Well-known member
שזה סיבוכיות ריבועית

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

אונגי2

New member
בגלל זה הוא אמר זמן ריצה

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

vinney

Well-known member
זה לא המספר המדויק של הפעולות.

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

אונגי2

New member
לא יודע

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

vinney

Well-known member
../images/Emo4.gif

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

אונגי2

New member
מה שהכי עצוב בסיפור

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

vinney

Well-known member
יכול להיות שהיא ד"ר לחינוך

אבל מה הידע שלה במדעי המחשב?:)
 

אונגי2

New member
חחח...

היא מתגאה בזה שהיא הייתה אחת מתוך 20 ומשהו ששרדו את "אינפי 1" כשהם התחילו יותר ממאה... אבל בשטח היא לא מראה אפילו ידע מאוד בסיסי. דברים כמו אם זה חוקי להכניס איבר לרשימה כשאתה מצביע על סוף הרשימה.
 

vinney

Well-known member
אתה מודע לזה שאין קשר בין אינפי

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

אונגי2

New member
אני יודע

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

אונגי2

New member
אם הבנתי נכון...

הלולאה החיצונית מתבצעת n פעמים כפול צעד בסיסי שערכו 1 (בדיקת תנאי). הלולאה הפנימית מתבצעת n^2 פעמים כפול צעד בסיסי שאורכו 1 (בדיקת תנאי). הפקודה בתוך הלולאה מתבצעת n^2 פעמים כפול 2 צעדים בסיסיים (הכפלה ב2 + השמה בתוך תא במערך). לכן הסיבוכיות היא : n+n^2+2n^2 כלומר 3n^2+n
 

drorBIN

New member
תודה רבה, עכשיו הבנתי.

ותודה גם לשאר העונים ועל הדיון המעניין.
 
למעלה