צריך עזרה ב JAVA .... - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

צריך עזרה ב JAVA ....


tzolerguy

Recommended Posts

היי

אני בונה תוכנית בJAVA אשר תקרא מילים ותספור אותם ובסוף תוציא קצת סטטיסטיקה

כרגע אני מצליח לקרוא מילים מקובץ ולהכניס אותן לתוך TREEMAP ששם יש לKEY זה המילה וVALUE זה מספר המופעים שלה....

עכשיו אני צריך לשלוף את המילים ולסדר אותן מה שכיחה לנדירה השאלה איך אני שולף מתוך הMAP את הKEY שלו יש את הVALUE הכי גבוה???

KEY מוגדר STRING

VALUE מוגדר INTEGER

רעיונות???

תיאור של המפה

http://download.oracle.com/javase/6/docs/api/java/util/TreeMap.html

קישור לתוכן
שתף באתרים אחרים

חלק מהתרגיל זה לעבוד רק עם המפה :)....

אני לא רואה דרך לרדת מיעילות ריבועית אם אתה יכול להשתמש רק במפה הנתונה.

תעשה פונ שמוצאת את האיבר עם הכי הרבה מופעים (תעשה לולאה על ה keySet של ה -map ותשווה את ה values.)

ואז תבנה לולאה שמוצאת את האיבר המקסימלי (ע"י הפונ) ומוציאה אותו מה map עד שה map ריק.

אם לעומת זאת הכוונה שאתה יכול להשתמש בעוד TreeMap (אבל לא מבנה נתונים אחר) אז ניתן לרדת ל n log n. (אם רלוונטי ואתה לא מסתדר אז תגיד).

אני לא מבין למה היא יודעת למשוך ערך לפי מפתח ולא להיפך ...
כי מבנה נתונים מהסוג הזה מאכסן את המידע שהוא שומר לפי ה keys ולא ה values. ניתן לממש חיפוש לפי ה values אבל ישנן שתי בעיות:

א. יעילות: מציאת איבר לפי ה value תהיה בזמן לינארי למספר האיברים.

ב. כפילויות של values: צריך לטפל במקרה בו יש כפילות של values וכיצד אתה מגדיר סדר במקרה כזה.

באופן עקרוני, אם אתה צריך שליפה לפי values ואתה לא תלמיד/סטודנט :) אז אתה צריך להשתמש במבנה נתונים אחר.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...