פורסם 2006 במרץ 2719 שנים אני רוצה לאחסן 2 מחסניות במערך פיזי אחד, בתנאי: כל מחסנית תודיע שהיא מלאה רק כאשר סכום האיברים בשני המחסניות יהיה שווה לגודל המערך.איך כותבים אלגוריתים לזה?מעדיף ב-C++ או אפילו ברעיון, את השלבים והסבר.תודה
פורסם 2006 במרץ 2719 שנים כל אחת מתחילה מקצה שני של המערךזה די פשוט...כשאתה דוחף איבר למחסנית אחת אתה צריך לבדוק שסכום הגדלים לא עולה על גודל המערךלמחסנית הראשונה אתה דחוף ל-sizeof_stack1 ולשניה אתה דוחף ל-total_size-sizeof_stack2
פורסם 2006 במרץ 2719 שנים כשאתה רוצה להכניס למחסנית הראשונה איבר אז אתה צריך לשים אותו בראש המחסניתאם במחסנית הראשונה יש כבר n1 איברים אז את האיבר החדש אתה צריך לדחוף למקום ה-n1 במערךבמחסנית השניה אם יש n2 איברים אז אתה צריך לדחוף את האיבר החדשה במקום ה-n2 מהסוף. אם גודל המערך הוא N אז את האיבר תשים במקום ה-N-n2-1
פורסם 2006 במרץ 2719 שנים מחבר האמת, עדיין לא הבנתי ב-100%, אתפוס ראש ואנסה להביןשאלה נוספת: האם הצעתך היא בסיבוכיות של 0(n)?
פורסם 2006 במרץ 2719 שנים מחבר אני חדש בתחום, רק קראתי על זה חומר כעת, והשעה מאוחרת, אני אפילו לא יודע מה זה סיבוכיות...
פורסם 2006 במרץ 2719 שנים אז מה הטעם לשאול שאלה שאתה לא מבין?קודם תבין מה זה סיבוכיות ואז תבין באיזה סיבוכיות זה.
פורסם 2006 במרץ 2719 שנים נראה לי שיש פתרון פשוט יותר(ללא שמירה של גודל המחסנית).אתה צריך לשמור את המיקום של האיבר החדש ביותר המחסנית. גם כאן אחת מהמחסניות תתחיל מהסוף.(שני הפתרונות זהים לחלוטין חוץ מהעיקרון הבסיסי)ואני ממליץ לך בחום לחזור על הגדרת המחסנית וכל מה שקשור. אם יש לך שאלות תשאל.
פורסם 2006 במרץ 2919 שנים תחתית אחת היא בסוף המערך(ואתה מתקדם להתחלה), ותחתית שניה היא בתחילת המערך(כך שאתה מתקדם לקראת הסוף).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.