6 תשובות
לא בהכרח
תלוי מה סיבוכיות הריצה של כל אחת מהלולאות.
רק אם הfor רץ על קלט בגודל n לא ידוע' ולולאת הwhile רצה על קלט בגודל m לא ידוע, אז הסיבוכיות תהיה n^2.
ואם הfor רץ על קלט בגודל n לא ידוע והwhile רץ נגיד 3 פעמים זה סיבוכיות n בלבד.
(או ההפך)
אם הfor ידוע שירוץ נגיד 3 פעמים והwhile ידוע שירוץ גם מספר כלשהו, נגיד 3, אז הסיבוכיות תהיה בכלל o)1(
תלוי מה סיבוכיות הריצה של כל אחת מהלולאות.
רק אם הfor רץ על קלט בגודל n לא ידוע' ולולאת הwhile רצה על קלט בגודל m לא ידוע, אז הסיבוכיות תהיה n^2.
ואם הfor רץ על קלט בגודל n לא ידוע והwhile רץ נגיד 3 פעמים זה סיבוכיות n בלבד.
(או ההפך)
אם הfor ידוע שירוץ נגיד 3 פעמים והwhile ידוע שירוץ גם מספר כלשהו, נגיד 3, אז הסיבוכיות תהיה בכלל o)1(
שואל השאלה:
נגיד יש לי while של עד שהמחסנית לא ריקה ובתוך for של איזשהם משתנים מתוך המחסנית?
נגיד יש לי while של עד שהמחסנית לא ריקה ובתוך for של איזשהם משתנים מתוך המחסנית?
אנונימית
ממה שהבנתי, הwhile רץ בעצם כל עוד המחסנית לא ריקה. לכן הסיבוכיות של הwhile היא n כגודל המחסנית, גודל שהוא לא ידוע.
בהנחה שגודל האיברים של המחסנית לא ידועים, גודל m, אז לולאת הfor שרצה ככה (לזה התכוונת?)
zzz i=0;i<m;i++ zzz
הסיבוכיות שלה היא m
ולכן הסיבוכיות הכוללת היא m*n=n^2
בהנחה שגודל האיברים של המחסנית לא ידועים, גודל m, אז לולאת הfor שרצה ככה (לזה התכוונת?)
zzz i=0;i<m;i++ zzz
הסיבוכיות שלה היא m
ולכן הסיבוכיות הכוללת היא m*n=n^2
שואל השאלה:
המחסנית היא בעצם מחסנית של עצמים ממחלקה בשם item שיש לה 2 תכונות start ו end ואז הלולאת for זה ( int i = start , i< end, i++ ). מקווה שזה מובן
המחסנית היא בעצם מחסנית של עצמים ממחלקה בשם item שיש לה 2 תכונות start ו end ואז הלולאת for זה ( int i = start , i< end, i++ ). מקווה שזה מובן
אנונימית
כן זה מובן
אז בגלל שהגודל של start ושל end לא ידוע, אז אפשר להגיד שלולאת הfor רצה m פעמים, אז במקרה הזה הסיבוכיות הכוללת היא n^2
אז בגלל שהגודל של start ושל end לא ידוע, אז אפשר להגיד שלולאת הfor רצה m פעמים, אז במקרה הזה הסיבוכיות הכוללת היא n^2
שואל השאלה:
סבבה תודה ממש!!
סבבה תודה ממש!!
אנונימית
באותו הנושא: