שאלה על הגדלת מערך

מנהל: TA_Isana

שלח תגובה
moshes
הודעות: 60
הצטרף: 00:15 24/10/2009

שאלה על הגדלת מערך

שליחה על ידי moshes » 00:06 19/05/2010

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

קוד: בחירת הכל

o(1) 
או בזמן של

קוד: בחירת הכל

o(n)
בגלל שאנחנו צריכים לעבור איבר איבר ולעתיק את כל האיברים.?
תודה לעונים

TA_Ariel
הודעות: 261
הצטרף: 00:53 23/04/2009

Re: שאלה על הגדלת מערך

שליחה על ידי TA_Ariel » 01:31 19/05/2010

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

אתה יכול גם להגדיר מערך וכל פעם שנגמר לך המקום להגדיר חדש פי שניים יותר גדול, ולעתיק את האיברים שנמצאים במערך הנוכחי.

אני מציע את האפשרות השנייה.

שלח תגובה

חזור אל “- מבני נתונים 2010”