אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2023 · אביב מועד א · שאלה 2כל שאלות המבחן ←
מבנים לינארייםרשימות מקושרות

מספר שלם חיובי גדול מיוצג כשרשרת חוליות — חוליה = ספרה, החוליה הראשונה מכילה את הספרה המשמעותית ביותר והאחרונה את ספרת האחדות. דוגמה: 2321418 = 2→3→2→1→4→1→8.

שרשרת החוליות המייצגת את המספר 2321418:

2 → 3 → 2 → 1 → 4 → 1 → 8 → null
סעיף א

כתבו פעולה חיצונית בשם numDigits (Java) / NumDigits (C#) המקבלת הפניה לחוליה ראשונה של שרשרת חוליות המייצגת מספר שלם וחיובי. הפעולה תחזיר כמות ספרות של המספר.

public static int numDigits(Node<Integer> n)

סעיף ב

כתבו פעולה חיצונית בשם compare (Java) / Compare (C#) המקבלת הפניות לשתי שרשראות חוליות n1 ו-n2 המייצגות שני מספרים שלמים חיוביים. אם המספר המיוצג בשרשרת הראשונה גדול מהמספר המיוצג בשרשרת השנייה, הפעולה תחזיר 1. אם המספר המיוצג בשרשרת הראשונה קטן מהמספר המיוצג בשרשרת השנייה, הפעולה תחזיר 2. אם שני המספרים שווים, הפעולה תחזיר 0.

public static int compare(Node<Integer> n1, Node<Integer> n2)

סעיף ג

מהי סיבוכיות הפעולה compare מהסעיף הקודם? הסבירו את תשובתכם.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי