סוגי נתונים מופשטים: חוזת פעולה
הוצג| English | משמעות |
|---|---|
| stack/stæk/ | ערימה |
| queue/kjuː/ | תור |
מה יכול להסביר תצפית זו?
- סימולציית תור דורשת את הפריט המתמתיך הישן ביותר ראשונה. ערמה נותנת את הפריט האחרון ראשונה, ולכן קריאת הפעולה חשובה.
- התחל בחזית. ציין את הכמותות או התכונות שת срав, ואז החלט איזה עדות יכולה להבדיל בין שתי הסברות.
בניית המודל
- סוג נתונים מופשט (ADT) מגדיר ערכים ותפעולות ללא תלות ביישום ספציפי. אגרת (stack) היא "אחרון נכנס, ראשון יוצא"; תור (queue) הוא "ראשון נכנס, ראשון יוצא". ממשק קבוצה דורש התנהגות מוגדרת לתפעולים על מבנה ריק או לא חוקי.
- שורה (Stack): סוג נתונים مجردי של אחרון-נכנס-ראשון-יוצא; תור (Queue): סוג נתונים مجردי של ראשון-נכנס-ראשון-יוצא.
איזה מבנה מדגם טור המתנה בסדר הגעה רגיל?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
תור המתנה הוא ראשון-בתור-יוצא (FIFO), בדיוק כמו חוזה התור: הוספה בקצה האחורי, הוצאה מקצה הקדמי. סטacked (ערימה) הוא אחרון-בתור-יוצא (LIFO), ומבנה ללא חוזה אינו מדגם דבר באמינות.
התאמו כל מונח טכני למשמעותו המדויקת.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
השתמשו בהגדרות כדי להבדיל בין כמותיות ותהליכים הקשורים זה לזה.
בחר עדים שיכולים לבדוק אותו
- בחר את המבנה המתאים לדפוס הגישה הנדרש. המורכבות תלויה ביישום ובנחות: הסרת הפריט הראשון מארגון זז שונה מהזזת מצביע ראש בתור.
- מעקב ידני אחר רצף תפעוליות, ולאחר מכן השוואה של התוכנה למצבים צפויים. בדיקת מצבי ריק, יחיד-פריטי ופעולות חוזרות. ציון התנהגות גלישה (overflow) כאשר הקיבולת קבועה.
אילו שני הרגלים הופכים את החקירה או הדגם במקרה זה לקבלנים יותר?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
ניסוח התנאים וההנחות מאפשר לאחרים לחזור על העבודה בדיוק, ורישום הראיות התומכות מאפשר להם לבדוק את המסקנה. הסתרת תוצאות המולכות מסירה את הראיות שיכולות לערער מסקנה שגויה, ומדידה אחת לעולם לא יכולה להוכיח טענה רחבה יותר.
עבודה על בסיס גודלים ידועים
- ציין את הערכים הידועים ואת יחידות המידה שלהם. בחר בקשר מכיוון שההנחות שלו מתאימות למקרה זה, ולאחר מכן סדר מחדש לפני ההצבה.
- ידוע: הוספת A, B ו-C לתור, ולאחר מכן ביצוע פעולת הסרה פעמיים. A ו-B יוצאים; C נותר. לאחר הוספת D ישנם שני פריטים בממתנה, C ולאחריו D. באגרה, אותה סדרת הכנסות הייתה מוצאת C ולאחריו B.
תור מתחיל ריק, מקבל 7 פריטים ומסיר 4. מצא את המספר שנותר. השתמש באותה רצף: כמות ידועה → מודל → קשר → הצבה → יחידה ופרשנות.
תור מתחיל ריק, מקבל 7 פריטים ומסיר 4. חשב את מספר הפריטים שנותרו.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
התוצאה היא 3 פריטים. ידוע: תור ריק; 7 הוספות; 4 הוצאות. שנותרו = 7 - 4 = 3 פריטים. בסדר ההגעה, שלושת ההגעות האחרונות עדיין בתור.
בדוק את המסקנה ואת הגבולות שלה
- ADT אינו מייצוג זיכרון ספציפי. תור אינו מסדר לפי עדיפות אלא אם כן החוזה שלו מגדיר תור עדיפות.
- חזור לתצפית המקורית. הסבר מה התוצאה תומכת, אילו תנאים היא מניחה, ודרך אחת לבדוק הסבר מתחרה.
כל תור אוטומטית מסדרת פריטים לפי עדיפות. טענה זו שגויה: תור רגיל משחרר פריטים במדויק בסדר ההגעה. שירות לפי חשיבות הוא תור עדיפויות - חוזה שונה שיש לציין במפורש.
סוגי נתונים מופשטים: חוזה תפעול: בחר את המבנה המתאים לדפוס הגישה הנדרש. המורכבות תלויה ביישום ובנחות: הסרת הפריט הראשון מארגון זז שונה מהזזת מצביע ראש בתור.
כל תור מסנן אוטומטית פריטים לפי עדיפות.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
תור רגיל משחרר פריטים רק בסדר הגעתם. שירות לפי חשיבות הוא תור עדיפויות - חוזה שונה שחובה לציין במפורש.
סוג נתונים מ 추抽象 אחרון-נכנס-ראשון-יוצא: כתוב את המונח הטכני.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
סטק הוא סוג נתונים מ추상 (abstraction) מהסדר Last-In-First-Out.