prepd.

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

נתון מערך חד ממדי a הממלא במספרים שלמים חיוביים ושליליים ללא אפס! (אין צורך לבדוק זאת). המערך אינו ממוין!

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


אם יש במערך יותר מתת-מערך אחד באורך מקסימלי, יודפסו האינדקסים של התת-מערך הראשון מביניהם.


לדוגמא:
- עבור המערך {-1, 1, -1, -5, 2, 2} השיטה תחזיר 3 (האיברים של התת-מערך הזה מודגשים) ותדפיס משהו כעין זה:

Starting index = 0 Ending index = 2

- עבור המערך {3, 3, 2, -7, 2, 1, 1, -2, -2} השיטה תחזיר 3 ותדפיס משהו כעין זה:

Starting index = 2 Ending index = 4

- עבור המערך {1, 2, 3, 4, 5, 4} השיטה תחזיר 1 (אין תת-מערך באורך גדול מ- 1 שיש בו איברים מתחלפים. לכן כל אחד מהאיברים במערך הוא תת-מערך באורך 1) ותדפיס משהו כעין זה:

Starting index = 0 Ending index = 0

- עבור המערך {1, -2, 3, -4, -5, 4, 2, -4, 6, -2} השיטה תחזיר 4 (יש שני תת-מערכים באורך 4, אחד מאינדקס 0 עד אינדקס 3, והשני מאינדקס 6 עד אינדקס 9) ותדפיס משהו כעין זה:

Starting index = 0 Ending index = 3


חתימת השיטה היא:


מה סיבוכיות זמן הריצה והמקום של השיטה שכתבתם? הסבירו תשובתכם.


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


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



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