18-08-2011, 21:47
|
|
|
חבר מתאריך: 30.07.05
הודעות: 949
|
|
תגדיר לשלוף ותגיד איך ממומשת המחסנית...
דבר ראשון, במחסנית אתה תמיד אמור להוציא את האיבר בראש המחסנית. להוציא את האיבר הכי גדול בה שובר את כל הרעיון של מחסנית וזה הזוי.
דבר שני, אם המחסנית ממומשת כמערך ציקלי, למשל, הוצאה מהאמצע היא בלתי אפשרית, בטח ב-(O(1. יש טריק של לשמור על שדות מאותחלים במערך ע"י 2 מערכי עזר ב-(O(1 אבל שוב, זה מימוש הזוי לחלוטין עבור מחסנית.
אם המחסנית ממומשת ברשימה אז אפשר בכל הכנסה לשמור את הערך המקסימאלי הנוכחי ולהשוות אותו לאיבר החדש המוכנס, ואם כן לשמור את האיבר שמצביע עליו. הבעיה היא שב-(O(1 מדובר בפתרון חד-פעמי כי אחרי שתוציא את האיבר הכי גדול - איך תמצא את האחד הבא?
בקיצור, שאלה הזויה...
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.
|