רשימת תדירויות (Frequency List) — רשימת מספרים שבה כל מספר מופיע פעם אחת ולאחריו מספר הפעמים שהופיע ברשימה המקורית. buildFreqList בונה אותה במקום; mostPopularNumber משתמשת בה כדי למצוא את המספר עם התדירות הגבוהה ביותר.
רשימת תדירויות (Frequency List) — רשימת מספרים שבה כל מספר מופיע פעם אחת ולאחריו מספר הפעמים שהופיע ברשימה המקורית. buildFreqList בונה אותה במקום; mostPopularNumber משתמשת בה כדי למצוא את המספר עם התדירות הגבוהה ביותר.
הרשימה המקורית (ראש→סוף): 100,40,20,100,100,20,30,20,20 (100 מופיע 3 פעמים, 40 פעם אחת, 20 ארבע פעמים, 30 פעם אחת). אחרי buildFreqList (רשימת תדירויות): 100,3,40,1,20,4,30,1.
מקורית (ראש→סוף): 100,40,20,100,100,20,30,20,20
אחרי buildFreqList (ראש→סוף): 100,3,40,1,20,4,30,1
כתבו פעולה המקבלת רשימה של מספרים שלמים (הפנייה לחוליה ראשונה של הרשימה, ברשימה יש לפחות ערך אחד). הפעולה תשנה את הרשימה להיות רשימת תדירויות: כל ערך יופיע פעם אחת ולאחריו מספר הפעמים שהופיע ברשימה המקורית; יש למחוק ערכים שחוזרים על עצמם חוץ מהמופע הראשון. אין להשתמש במבני נתונים נוספים.
public static void buildFreqList(Node<Integer> chain)
כתבו פעולה המקבלת הפניה לחוליה ראשונה של שרשרת חוליות ומחזירה את המספר המופיע הכי הרבה פעמים בשרשרת. בעבור הרשימה הנתונה בסעיף א' הפעולה תחזיר 20. חובה להשתמש בפעולה שכתבתם בסעיף א'.
public static int mostPopularNumber(Node<Integer> chain)
מהי סיבוכיות הפעולות buildFreqList ו-mostPopularNumber מהסעיפים א' ו-ב'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.