اولویت خروج با عنصر تازه وارد Last In, First Out – LIFO
اولویت خروج با عنصر تازه وارد یا Last In, First Out – LIFO چیست؟
اولویت خروج با عنصر تازه وارد (Last In, First Out) یا به اختصار LIFO اصطلاحی است که برای توصیف رفتار پشته (Stack) استفاده میشود و در آن جدیدترین (آخرین) موجودیت وارد شده، زودتر از سایر موجودیتها پردازش میشود. به عبارت دیگر، هرچه از لحظهی ورود (یا انتظار) یک عنصر زمان کمتری گذشته باشد آن عنصر زودتر مورد پردازش قرار میگیرد.
عملکرد این روش بر اساس رفتار ساختمان دادهی پشته میباشد. برای درک بهتر LIFO، میتوانید تعدادی ظرف کثیف را درنظر بگیرید که روی یکدیگر در آشپزخانهای انباشته شدهاند. برای شست و شوی این ظرفها به طور معمول ابتدا ظرفی انتخاب میشود که روی سایر ظروف قرار گرفته است، در حالی که ظرفی که در پایین ترین سطح قرار گرفته است، زودتر از سایر ظرفها برای شسته شدن وارد آشپرخانه شده است.
در پشتهها عمل افزودن به پشته (که با عنوان Push شناخته میشود) منجر به اضافه شدن موجودیت جدید به انتهای آن میشود و عمل حذف از پشته (که به عنوان Pop شناخته میشود) نیز معادل با حذف جدیدترین موجودیت خواهد بود.
یکی از کاربردهای اصلی این رویکرد در فراخوانی توابع و ارزیابی عبارات است. لازم به ذکر است FIFO دقیقا حالت متضاد LIFO میباشد و قدیمیترین موجودیت لیست را زودتر از سایر موجودیتها مورد پردازش قرار میدهد.
پیوندهای پیشنهادی تک دیک