FARKASH7 פורסם 2014 בנובמבר 18 Share פורסם 2014 בנובמבר 18 מבנה הנתונים צריך לתמוך בהכנסה והוצאה בזמן לוגריתמי. כאשר האיברים בו ממיונים לפי מפתח.כמו כן הוא צריך לאפשר לי לחפש איבר בזמן לוגריתמי ולבדוק כמה איברים עם מפתח גדול ממנו יש בזמן קבוע.חשבתי להשתמש במבנה map של c++.הבעיה שחיפוש בmap מחזיר לי מצביע לאיבר ולא אינדקס שלו במבנה. כך שאני לא יכול להשוות אותו לגודל הmap וכך לדעת כמה איברים בmap גדולים ממנו.האם יש למישהו פתרון אלגנטי לבעיה? כי כל פתרון שאני חושב עליו מצריך תוספת של ווקטור למשל עם מצביעים כדי לקבל אינדקס.*רק העיר שהוספת שדה אינדקס בכל איבר בmap שבו מצוין האינדקס של האיבר או כמה איברים גדולים ממנו היא בעייתית כי היא דורשת תחזוקה וכך נפגע זמן ההכנסה והוצאה. קישור לתוכן שתף באתרים אחרים More sharing options...
doker פורסם 2014 בנובמבר 18 Share פורסם 2014 בנובמבר 18 אולי משהו בסגנון AVL?הכנסה והוצאה לוגרתמי.חיפוש גם.אתה יכול לשמור בכל איבר את מספר האיברים הגדולים ממנו. ולכן יצא O(1) זה לא משפיע על הסיבוכיות כי בהוספה והכנסה אתה גם ככה עובר על אותו הקודקוד ואתה יודע אם אתה צריך להוסיף או להחסיר.לא ידוע איך map פועל בc++ אבל אני חושב שזה עושה שימוש בhashtables כלומר אין סדר ולכן לא תוכל להשוות בין הגודל לבין המיקום שלו. קישור לתוכן שתף באתרים אחרים More sharing options...
FARKASH7 פורסם 2014 בנובמבר 18 מחבר Share פורסם 2014 בנובמבר 18 חשבתי על AVL, פשוט map היה נראה לי בהתחלה אידאלי עד שנתקלתי בבעיה שפירטתי.חשבתי שאולי פספסתי משהו וניתן לפתור את זה בצורה פשוטה ואלגנטית. כנראה שהתבדתי.טוב כנראה שאעבור לAVL. יש לך המלצה לחבילה בנויה בc++? קישור לתוכן שתף באתרים אחרים More sharing options...
Gil28 פורסם 2014 בנובמבר 18 Share פורסם 2014 בנובמבר 18 לפעמים פיתרון נחמד יכול להיות תחזוק של שני מבני נתונים במקביל - לפעמים כאלה שמכילים את אותם איברים ולפעמים אחד מהם מחזיק מצביעים לאיברים במבנה הנתונים השני. קישור לתוכן שתף באתרים אחרים More sharing options...
FARKASH7 פורסם 2014 בנובמבר 18 מחבר Share פורסם 2014 בנובמבר 18 כן גיל אתה צודק. בהודעה הראשונה שלי כתבתי שחשבתי להוסיף אולי ויקטור עם מצביעים. במחשבה שניה הבנתי שרשימה פשוטה דו כיוונית יהיה רעיון טוב יותר.בפתרון פשוט ונחמד התכוונתי לשיטה או שימוש בשיטות של maps, כזה שפיספסתי, אבל ממה שאתם כותבים אני מבין שאין. קישור לתוכן שתף באתרים אחרים More sharing options...
Gil28 פורסם 2014 בנובמבר 18 Share פורסם 2014 בנובמבר 18 הדרישות שלך פשוט זועקות עץ AVL קישור לתוכן שתף באתרים אחרים More sharing options...
FARKASH7 פורסם 2014 בנובמבר 18 מחבר Share פורסם 2014 בנובמבר 18 כן אני יודע.גם כתבתי שאעבור למבנה מבוסס עץ מאוזן. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.