עמוד 1 מתוך 1

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

הודעהפורסם: 23:06 18/05/2010
על ידי moshes
כאשר אנחנו מכניסים איבר חדש למבנה נתונים אנחנו צריכים להגדיל את מבנה הנתונים( במקרה שלי המבנה מיוצג כמערך)
לדוגמא כאשר המערך שלי מוגדר באורך 10 וכרגע נמצאים 10 איברים בתוכו ואני רוצה להגדיל את המערך אני צריך להקצות מערך בגודל אחד יותר מהמערך המקורי
ולהעתיק את כל האיברים שהיו למערך החדש. השאלה שלי אם הגדלת מערך הוא בזמן של
קוד: בחר הכל
o(1)

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

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

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

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

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