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

מנהל: TA_Isana

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

הודעהעל ידי moshes » 23:06 18/05/2010

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

או בזמן של
קוד: בחר הכל
o(n)
בגלל שאנחנו צריכים לעבור איבר איבר ולעתיק את כל האיברים.?
תודה לעונים
moshes
 
הודעות: 60
הצטרף: 00:15 24/10/2009

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

הודעהעל ידי TA_Ariel » 00:31 19/05/2010

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

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

אני מציע את האפשרות השנייה.
TA_Ariel
 
הודעות: 261
הצטרף: 23:53 22/04/2009


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

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ואורח אחד