שלום רב

jojo36

New member
שלום רב

שלום רב, תרגיל בנושא מבוא למדעי המחשב ושפת java. אם מישהו יוכל לעזור לי לפתור את השאלה יהיה ממש נחמד מצידו. אני קצת מתקשה בנושא . תודה מראש! ברצוננו לחשב כל מיני נתונים הקשורים לטקסטים. לשם כך, בהינתן טקסט אלפביתי כלשהו (נניח, ספר או מאמר), עלינו ליצור מבנה נתונים המאחסן את המילים המופיעות בו. לכל מילה נציין גם כמה פעמים היא מופיעה בטקסט. השאילתות שנרצה לבצע על הטקסט ומילותיו יהיו מסוג: כמה מילים יש בטקסט, כמה מילים שונות יש בטקסט, מהי המילה השכיחה ביותר, כמה מילים שמתחילות באות מסוימת (נניח 'א') יש בטקסט, מיהי האות שהכי הרבה מילים בטקסט מתחילות בה וכדומה. עליכם להגדיר מחלקה המייצגת את קבוצת המילים שבטקסט. אין צורך לשמור על סדר המילים כפי שהופיעו בטקסט. המחלקה צריכה לייצג את קבוצת המילים בצורה היעילה ביותר למימוש. כלומר, רשימה ממוינת. מימוש זה צריך להיות באמצעות רשימה מקושרת ממוינת. עליכם לכתוב את הגדרת המחלקה: תכונות (instance variables) - לפי בחירתכם. השיטות הנדרשות במחלקה הן: • public void addToData (String word) המקבלת מילה שנקראה מהטקסט ומוסיפה אותה למבנה הנתונים. שימו לב לכל מקרי הקצה האפשריים (חשבו מהם). • public void parseTextIntoList () הקוראת טקסט מהקלט והופכת אותו לרשימה מקושרת לפי ההנחיות לעיל; • public int howManyWords () המחזירה את מספר המילים שבטקסט; • public int howManyDifferentWords () המחזירה את מספר המילים השונות שבטקסט; • public String mostFrequentWord () המחזירה את המילה השכיחה ביותר בטקסט; • public char mostFrequentStartingLetter () המחזירה את האות שהכי הרבה מילים מתחילות בה בטקסט; שימו לב, השיטה הזו צריכה להיות ממומשת ברקורסיה וללא לולאות בכלל! • public int howManyStarting (char letter) המקבלת אות, ומחזירה את מספר המילים שמתחילות באות זו; • public String toString () המעבירה את הרשימה למחרוזת, כאשר כל המילים מופיעות בה, ולצד כל מילה מופיע מספר המופעים שלה בטקסט; שימו לב לכל מקרי השגיאה האפשריים! כתבו מה סיבוכיות הזמן וסיבוכיות המקום של כל שיטה שכתבתם. שימו לב: אסור להשתמש במחלקות מוכנות כבר של Java. מותר ורצוי להשתמש במחלקות שניתנו בהרצאה ונמצאות בחוברת השקפים. שימו לב לא לכתוב קוד מיותר (שכבר נכתב) אלא להשתמש במחלקות המתאימות.
 

formatman

New member
אני באותו הקורס

עשיתי את הממן הזה כבר, שלח לי מסר עם מה שאתה מתקשה ואני ינסה לעזור
 
למעלה