דף 1 מתוך 1

הבהרה לגבי שאלה 4

נשלח: 21:26 24/03/2010
על ידי innakar
אם אפשר בבקשה להסביר למה הכוונה בפונקציה find(z) "מניחים שמתקבל מצביע ישירות לאיבר Z"?
תודה :)

Re: הבהרה לגבי שאלה 4

נשלח: 21:34 24/03/2010
על ידי TA_Lena
אני אנסה להסביר בעזרת דוגמה, הכוונה היא למשל אם המספרים מוחזקים בקודקודים של רשימה מקושרת, אז ב - find תקבלו ישר מצביע לקודקוד שמכיל את z.

Re: הבהרה לגבי שאלה 4

נשלח: 11:25 31/03/2010
על ידי betite85
אני ממש לא הבנתי מזה "מתקבל מצביע..."
לפי הדוגמה בFIND מתקבל איבר וצריך לחפש איפה הוא נמצא בין כל הקבוצות השונות.
לפי מה שהבנתי ממך אם אני מיישם את זה המערך דו מימדי, ואני מקבל מצביע ==> אז זה אומר שאני מקבל את האינדקס של הקבוצה שבה נמצא האיבר???(ולא את האיבר עצמו)
מקווה לקבל הבהרה בעיניין... תודה

Re: הבהרה לגבי שאלה 4

נשלח: 20:05 31/03/2010
על ידי TA_Lena
במקרה בו אתה שומר את המספרים במערך, תקבל את האינדקס של התא שבו נמצא המספר z המבוקש ב - find.
פתרונות שהניחו כי מקבלים את המספר עצמו יתקבלו גם.

Re: הבהרה לגבי שאלה 4

נשלח: 11:59 03/04/2010
על ידי michal cohen
אם אני מקבלת את האינדקס שבו נמצא המספר z המבוקש ואני מממשת את זה בערך דו מימדי אז מן הסתם אני אקבל שני אינדקסים:
A[j]
ואז כל שנותר לי הוא להחזיר את
A
אז מה עשינו פה?
בטוח שזה כל מה שצריך לעשות?

Re: הבהרה לגבי שאלה 4

נשלח: 12:20 03/04/2010
על ידי AmiEli
אני עם מיכל - הרי אם נקבל מצביע ומימשנו בעזרת מערך - מן הסתם שנקבל
A[j] zzz
ואז כאילו... נחזיר את i

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

הבהרה בעניין? מישהו? משהו?
:evil:

Re: הבהרה לגבי שאלה 4

נשלח: 19:51 03/04/2010
על ידי rangr
ביקשו להחזיר את הקבוצה בה נמצא z, כלומר לא את i אלא אתA c (במקרה של מערך דו מימדי).
הרי בדוגמא מחזירים את s4 וזוהי הקבוצה שבה נמצא z, אז אם הקבוצה שלך היא המערך החד מימדי (המימד השני) אז תחזיר אותו.
זה מה שאני הבנתי...

צדקתי? טעיתי?

Re: הבהרה לגבי שאלה 4

נשלח: 21:31 03/04/2010
על ידי TA_Lena
גם פתרונות שיחזירו רק את שם הקבוצה וגם מצביע לקבוצה יתקבלו.
אם אתם מתחזקים את הקבוצות במערך דו-ממדי כך שהשורות הם הקבוצות אז זה באמת יהיה מספיק להחזיר רק את האינדקס i או המצביע A, יותר עבודה (לא הרבה יותר) תצטרכו לעשות ב- UNION של שתי קבוצות.

Re: הבהרה לגבי שאלה 4

נשלח: 00:22 06/04/2010
על ידי AmiEli
למתרגלת לנה - אז לפי מה שאת אומרת - אם עשינו מערך 2 מימדי וקיבלנו מצביע - זה רק להחזיר את
A zzz

כלומר O(1) zzz

תתעלמי מה zzz זה רק בגלל העברית ההפוכה
טוב נו וגם בגלל שאני עייף מאד מהעבודה הזאת :mrgreen:

Re: הבהרה לגבי שאלה 4

נשלח: 17:33 06/04/2010
על ידי michal cohen
ומה לגבי רשימה מקושרת של תורים?
איזה מצביע אני מקבלת אז?
אני הרי לא יכולה לקבל מצביע לאיבר בתור...

Re: הבהרה לגבי שאלה 4

נשלח: 22:04 06/04/2010
על ידי TA_Lena
AmiEli כתב:למתרגלת לנה - אז לפי מה שאת אומרת - אם עשינו מערך 2 מימדי וקיבלנו מצביע - זה רק להחזיר את
A zzz

כלומר O(1) zzz

תתעלמי מה zzz זה רק בגלל העברית ההפוכה
טוב נו וגם בגלל שאני עייף מאד מהעבודה הזאת :mrgreen:


כן, כמו שציינתי גם פתרון כזה יתקבל.

Re: הבהרה לגבי שאלה 4

נשלח: 22:17 06/04/2010
על ידי TA_Lena
michal cohen כתב:ומה לגבי רשימה מקושרת של תורים?
איזה מצביע אני מקבלת אז?
אני הרי לא יכולה לקבל מצביע לאיבר בתור...
אכן, תיתכן בעיתיות עם מצביע לאיבר באמצע התור.
נסי אולי למצוא פתרון אחר, אם לא תצליחי, נתחשב בבדיקה.

Re: הבהרה לגבי שאלה 4

נשלח: 12:41 07/04/2010
על ידי michal cohen
כבר רשמתי את השיטות האחרות...
אפשר פשוט לחפש את האיבר ולהחזיר את המבציע ללינק של התור שלו?

Re: הבהרה לגבי שאלה 4

נשלח: 19:54 07/04/2010
על ידי michal cohen
מחר מתקרב... תשובה? :)

Re: הבהרה לגבי שאלה 4

נשלח: 20:42 07/04/2010
על ידי TA_Lena
אפשר.