עזרה, בבקשה.

עזרה, בבקשה. ../images/Emo206.gif

לפני רגע סיימתי מבחן באלגוריתמים, והייתי רוצה לשאול אתכם שאלה שנשאלה במבחן. נתון המערך הבא [V] בעל N איברים.
g (v,n) { for i=1 to n do { p = v L=O; H=O; For j=1 to n do { if (p>v[j]), L++ else if (p<v[j]), H++ } if (L>H) return p } return -1; }

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

הפונקציה מחזירה את האיבר הראשון שמצאה שמס' האיברים שקטנים ממנו רב יותר מאשר מס' האיברים שגדולים ממנו. זמן הריצה הטוב ביותר הוא O של n הגרוע ביותר הוא O של n בשניה. כאשר המערך ממוין זמן הריצה הוא ג"כ O של n בשניה.
 
יש!!!!

בס"ד. יש לי 25 נקודות!!!!!!!!!!!!!!! :) ימותו הקנאים... ;) ואת(!), דירבלק זה לא נכון... ;) חסל סדר מבחנים לשנה הנ"ל.... =]
 

danby

New member
רק מתוך סקרנות

איפה שאלה כזו שווה 25 נקודות במבחן בקורס באלגוריתמים??? הלוואי שאני הייתי יכול לקבל 25 נקודות על כזה דבר....
 
למעלה