כבר מה18.10 אמרתי שאני שונא את האינווריאנטה... שאלה:

מנהלים: TA_nimrod, TA_Igor, TA_Adi

שלח תגובה
AmiEli
הודעות: 68
הצטרף: 20:24 25/10/2009

כבר מה18.10 אמרתי שאני שונא את האינווריאנטה... שאלה:

שליחה על ידי AmiEli » 16:09 28/11/2009

התשובה הנכונה לפי הפרסום לגביי תני הPRE
היא:
i=1 , arr.length>0.
הפונקציה עצמה לפי השאלה היא:
P.S.V insertionSort (int[] arr) {
for (int i = 1; i<arr.length; 1=1+1) insert (arr,i); //end
תקנו אותי אם אני טועה - i מאותחל להיות 1 , וכל עוד אורך המערך גדול מ1 הלולאה תתקיים בכלל.
כלומר אם אורך המערך הוא 1, שזה דבר אפשרי , הלולאה לא תתקיים כי arr length לא גדול מ 1 !!!

ולכן לפי תשובת הבוחן arr.length אכן גדול מ0, אבל יכול להיות שהוא שווה ל 1, ואז שווה ל i , ואז לא נכנס ללולאה! :arrow:
אז למה זאת התשובה הנכונה?
לא צריך להיות שתמיד
arr.length > i ? וזה הPRE ורק שזה מתקיים זה מתחיל את הלולאה :?:

תודה על תשובתכם
עמי

rubichi
הודעות: 77
הצטרף: 18:50 22/10/2009

Re: כבר מה18.10 אמרתי שאני שונא את האינווריאנטה... שאלה:

שליחה על ידי rubichi » 19:21 28/11/2009

אם האורך הוא 1 הוא לא נכנס ללולאה אבל הוא לא צריך כי המערך כולל רק תא אחד... ותא אחד זה מערך ממויין

AmiEli
הודעות: 68
הצטרף: 20:24 25/10/2009

Re: כבר מה18.10 אמרתי שאני שונא את האינווריאנטה... שאלה:

שליחה על ידי AmiEli » 00:54 29/11/2009

נו בדיוק! זה מערך ממוין. אין צורך למייןאותו, ולא נכנסים בכלל ללולאה.
אבל אם המערך יהיה גדול מi אז תמיד נצטרך להכנס ללולאה...
יש עוד הסבר בנושא?

Roy
הודעות: 32
הצטרף: 01:17 13/03/2009

Re: כבר מה18.10 אמרתי שאני שונא את האינווריאנטה... שאלה:

שליחה על ידי Roy » 09:50 29/11/2009

[b]מסכים עם AmiEli לגמרי.[/b]
הלולאה לא מתקיימת עבור i=1 [u]ולכן חייב להיות i>0[/u] (שמכיל בתוכו גם את האינווריאנטה של i=1)

לא יתכן כי האינווריאנטה של מיון בחירה ומיון הכנסה היו דומים לגמרי.

כנ"ל גם לגבי הpost:
במיון הכנסה האלגוריתם משנה את מיקומו של האיבר הn-1 ולכן ניתן ללומר כי האיבר במקום ה-n כבר ממויין!

אני לא מבין למה לימדו אותנו דבר אחד בשיעור ומבקשים מאיתנו ליישם דבר אחר.

חייבים לעשות דבר בנושא.

שלח תגובה

חזור אל “- מבוא למדעי המחשב 2010”