TechBord Logo
TechBord detail

پشته (Heap) چیست؟

هپ یک ساختار داده ای است که از "گره ها" که حاوی مقادیر هستند تشکیل شده است. یک پشته معمولی دارای یک گره ریشه (Root) در بالا است که ممکن است دو یا چند گره فرزند را مستقیماً در زیر آن داشته باشد. هر گره می تواند دو یا چند گره فرزند داشته باشد، به این معنی که پشته با هر گره فرزند گسترده تر می شود. هنگامی که به صورت بصری نمایش داده می شود، یک پشته مانند درختی وارونه به نظر می رسد و شکل کلی آن یک تپه است.

در حالی که هر گره در یک پشته ممکن است دو یا چند گره فرزند داشته باشد (که "کودکان" نیز نامیده می شود)، بیشتر انبوهی ها وجود دارد. هر گره را به دو فرزند محدود کنید. این نوع هپ ها دودویی (Binary) heap نیز نامیده می شوند و ممکن است برای ذخیره داده های مرتب شده استفاده شوند. به عنوان مثال، یک "هپ حداکثر باینری" بالاترین مقدار را در گره ریشه ذخیره می کند. دومین و سومین مقادیر بالاتر در گره های فرزند گره ریشه ذخیره می شوند. در سراسر درخت، هر گره ارزش بیشتری نسبت به هر یک از گره های فرزند خود دارد. یک "هیپ حداقل دودویی" برعکس است، جایی که گره ریشه کمترین مقدار را ذخیره می کند و هر گره مقدار کمتری نسبت به فرزندان خود دارد.

در علوم کامپیوتر، هپ ها اغلب به صورت نمودارهای ساده ترسیم می شوند. با این حال، در واقع ذخیره داده ها در یک پشته پیچیده تر است. برای ایجاد یک پشته، برنامه نویسان باید الگوریتم (Algorithm) را برای درج و حذف داده (Data) بنویسند. مقادیر درج شده در یک پشته معمولاً در یک آرایه (Array) ذخیره می‌شوند که می‌تواند با یک برنامه (Program) ارجاع داده شود. از آنجایی که داده‌های یک پشته از قبل مرتب شده‌اند، ابزار کارآمدی برای جستجوی مقادیر خاص فراهم می‌کند.

توجه: "هپ" همچنین یک اصطلاح برنامه‌نویسی است که ممکن است برای توصیف حافظه (Memory). این بلوک حافظه با برنامه کاربردی (Application) فعال قابل دسترسی است. از آنجایی که حافظه در پشته به صورت پویا تخصیص داده می شود، بسته به مقدار حافظه ای که استفاده می شود، ممکن است بزرگ یا کوچک شود.

تعریف اصطلاح پشته (Heap) توسط تک بورد

تعریف پشته (Heap) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

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

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.