נשלח בתאריך: 26 December 2008 בשעה 12:16 | | IP רשוּם
|
|
|
|
השאלה היא : כתוב פונקציה יעילה המקבל מערך בגדול N של מספרים שלמים ומחזירה 1 אם איברי המערך שונים זה מזה ו-0 אחרת. הפונקציה צריכה לרוץ בסדר גודל N*LOGN. ניסיתי להשתמש באלגוריתם של MERGE_SORT ולשנות אותו טיפה אבל אני מסתבך. השאלה שלי היא האם קוד כזה תופס לסיבוכיות או לא:
int different_elements (int *a, int n) { int i; merge_sort (a,0,n-1); for (i=0;i<n-1;i++) if (a==a[i+1]) return 0; return 1; {
ועוד שאלה היא לכתוב פונקציה המקבלת שני מערכים ומדפיסה את כל האיברים המשותפים בסדר גודל N*LOGN.
תודה רבה מראש למי שעוזר !!!
|