تک دیک

واژه نامه و مجله آموزشی کامپیوتر و تکنولوژی

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Filter by Categories
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Numbers
O
P
Q
R
S
T
U
V
W
Y
Z
آگهی
اپلیکیشن ها
اچ‌تی‌ام‌ال
اسکرچ
اشخاص و شرکت ها
امنیت
امنیت آنلاین
اندروید
اینترنت
پایتون
پرسش و پاسخ
جاوااسکریپت
حروف انگلیسی
خبر
دوره های آموزشی
سخت‌افزار
سی‌اس‌اس
شبکه
فنی
کنسول جستجوی گوگل
گرافیک
لینوکس
مایکروسافت اکسل
مایکروسافت پاورپوینت
مایکروسافت ورد
مبانی کامپیوتر
مجله
مجله – امنیت
مجله – بازی
مجله – برنامه نویسی
مجله – دنیای اینترنت
مجله – سخت افزار
مجله – سیستم
مجله – شبکه
مجله – شبکه های اجتماعی
مجله – عمومی
مجله – گوشی‌های هوشمند
مجله – نرم افزار
مجله – ویندوز
مقدماتی
موضوعی
نرم‌افزار
وردپرس

پشته Stack

پشته یا Stack چیست؟

پشته (Stack) در علوم رایانه، به ساختمان داده‌ای گفته می‌شود که مجموعه‌ای از المان‌ها را براساس اصل LIFO (اولویت خروج با عناصر تازه وارد) در خود نگه‌داری می‌کند و از دو عمل Push (برای افزودن آیتم) و Pop (برای حذف آیتم) پشتیبانی می‌کند.

اعمال افزودن و حذف در Stack را می‌توان مشابه وضعیت ظروف کثیفی در نظر گرفت که به منظور شسته شدن در آشپزخانه روی یکدیگر انباشته شده‌اند، عنصر (ظرف کثیف) جدید بر روی عناصر قبلی قرار می‌گیرد و هنگام حذف یک عنصر (برداشتن ظرف برای شسته شدن)، جدیدترین عنصری که به پشته اضافه شده است زودتر حذف می‌شود. از این رو به پشته، ساختمان داده‌ی LIFO نیز گفته می‌شود.

کاربرد پشته‌ها و نحوه‌ی پیاده‌سازی

دو کاربرد رایج از پشته‌ها در رایانه عبارتند از ارزیابی عبارات و فراخوانی توابع. به عنوان نمونه‌ای ملموس و ساده می‌توان گفت هنگام فراخوانی تابع، نام تابع همراه با پارامترهای آن به عنوان عنصری جدید وارد یک پشته می‌شوند. در صورتی که در این تابع، تابعی دیگر فراخوانی شود تابع دوم نیز به همین صورت وارد پشته می‌شود. به محض اینکه اجرای دستورات تابع دوم به پایان می‌رسد عمل Pop از پشته انجام می‌شود و تابع دوم از آن خارج می‌شود. به این ترتیب تابع کنونی که در حال اجراست همیشه در بالای این پشته قرار می‌گیرد.

می‌توان استک را با ظرفیت ثابت (Fixed) و یا به صورت پویا (Dynamic) پیاده‌سازی نمود. در حالت اول، تعداد بیشینه‌ی المان‌هایی که می‌تواند در استک قرار بگیرد ثابت می‌باشد، در صورتی که پشته پر باشد و بخواهیم عنصر جدیدی به آن اضافه کنیم حالتی به نام سرریز (Overflow) رخ می‌دهد. به طور مشابه در صورتی که بخواهیم روی یک پشته‌ی خالی، عمل Pop را انجام دهیم حالت زیرریز (Underflow) رخ خواهد داد. در پیاده‌سازی پویای Stack، متناسب با تعداد المان‌ها ظرفیت استک تغییر می‌کند.

با توجه به محدودیت اعمالی که روی پشته‌ها قابل انجام است، Stack در زمره‌ی ساختمان‌داده‌های محدود (Restricted) طبقه‌بندی می‌شود.

نمونه ای از اعمال Push و Pop روی یک پشته
نمونه ای از اعمال Push و Pop روی یک Stack

تولید و انتشار محتوای تخصصی علاوه بر زمان، هزینه هم دارد. بخش عمده هزینه‌های تک‌دیک با بودجه شخصی و حمایت‌های شما کاربران گرامی تأمین می‌شود. اگر محتوای این صفحه برای شما مفید واقع شده با روش‌های مختلفی از سراسر دنیا می‌توانید در تکمیل و تداوم فعالیت این سایت به گروه کوچک ما کمک کنید و در اجر معنوی آن نیز سهیم شوید. ما صمیمانه قدردان این محبت شما هستیم.

ما در تک‌دیک تلاش می‌کنیم محتوایی دقیق، واضح و بدون اشتباه منتشر کنیم. به همین دلیل هر مطلب پیش از انتشار بارها بازبینی می‌شود. از طرف دیگر با توجه به حجم بالای مطالب به کمک شما هم نیاز داریم. اگر احساس می‌کنید محتوای این صفحه باید بروزرسانی، تکمیل یا تصحیح شود و یا سوالی در مورد این مطلب دارید که بدون پاسخ مانده خوشحال می‌شویم آن را در بخش دیدگاه‌های همین مطلب با ما در میان بگذارید.

دیدگاه‌ها

2 پاسخ به “پشته Stack”

  1. ناشناس نیم‌رخ
    ناشناس

    با سلام عبارت full stack developer یعنی چی… طرف بعنوان شغلش این عبارتو گفت

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

      سلام. منظور از Full stack developer توسعه دهنده ای است که در هر دو سمت فرانت اند و بک اند تخصص داره.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته‌های بیشتر

تبلیغات متنی ساده