ההבדל בין ערימה לתור

Anonim

ערימה לעומת תור

ערימה היא רשימה מסודרת שבה הכנסת ומחיקת פריטים ברשימה ניתן לעשות רק בקצה אחד בשם הדף. מסיבה זו, מחסנית נחשבת כמחצית הראשונה (LIFO) מבנה נתונים. תור הוא גם רשימה מסודרת שבה הכניסה של פריטים ברשימה נעשים בסוף אחד נקרא האחורי, ואת המחיקה של פריטים נעשים בצד השני שנקרא הקדמי. זה מנגנון החדרה ואת המחיקה עושה את התור הראשון של ראשית (FIFO) מבנה הנתונים.

-> ->

מה זה מחסנית?

כפי שהוזכר קודם, הערימה היא מבנה נתונים שבו מוסיפים אלמנטים ומוסיפים מקצה אחד בלבד הנקרא הדף. ערימות מאפשרות רק שתי פעולות בסיסיות הנקראות דחיפה ופופ. פעולת הדחיפה מוסיפה אלמנט חדש לחלק העליון של הערימה. פעולת הפופ מסירה רכיב מהחלק העליון של הערימה. אם הערימה כבר מלאה, כאשר מבצע דחיפה מבוצע, זה נחשב כמו הצפת מחסנית. אם מבצע פופ מתבצע על ערימה ריקה כבר, זה נחשב כמו זרימת מחסנית. בשל מספר קטן של פעולות שניתן לבצע על ערימה, זה נחשב כמבנה נתונים מוגבל. בנוסף, על פי האופן שבו פעולות דחיפה ופופ מוגדרות, ברור כי אלמנטים שנוספו לאחרונה לתוך ערימה לצאת הראשון מחסנית. לכן מחסנית נחשבת מבנה נתונים LIFO.

-> ->

מהו תור?

בתור, מוסיפים יסודות בחלק האחורי של התור ומוסיפים מלפנים את התור. מאחר שהרכיבים שנוספו תחילה יוסרו מהתור הראשון, הוא שומר על סדר FIFO. בשל הסדר הזה של הוספה והסרה של אלמנטים, התור מייצג את הרעיון של קו יציאה. פעולות כלליות הנתמכות על ידי תור הן פעולות en-que ו- de-queue. פעולת התור-תור תוסיף אלמנט בחלקו האחורי של התור, בעוד שמבצע ה- de-que מסיר רכיב מחזית התור. באופן כללי, לתורים אין הגבלה על מספר האלמנטים שניתן להוסיף לתור, מלבד אילוצי הזיכרון.

-> ->

מה ההבדל בין ערימה לתור?

אף על פי שגם הערימות וגם התורים הם סוגים של רשימות מסודרות, יש להם כמה הבדלים חשובים. בערימות, הוספת או מחיקה של פריטים ניתן לעשות רק מקצה אחד נקרא הדף, ואילו בתורים הוספת פריטים נעשה מקצה אחד נקרא האחורי ואת מחיקת פריטים נעשה מהקצה השני נקרא הקדמי. בערימה, פריטים שנוספו לאחרונה לערימה יוסרו תחילה מהמחסנית. לכן מחסנית נחשבת מבנה נתונים LIFO. בתורים, פריטים שנוספו תחילה יוסרו מהתור תחילה. לכן התור נחשב מבנה נתונים FIFO.

קישורים קשורים:

ההבדל בין ערימה לערימה