در ، (Heap) ی است که بر اساس درخت‌ها پیاده‌سازی می‌شود. هرم یک داده ساختار بهینه برای پیاده‌سازی یک داده گونه انتزاعی(abstract data type) به نام است. هرم‌ها می‌توانند به شکل‌های مختلفی پیاده‌سازی شوند. یکی از رایج‌ترین پیاده‌سازی‌ها، است که با استفاده از مدل می‌شود.
 دو نوع دارد:
 
 برای الگوریتم از هرم بیشینه و برای پیاده‌سازی معمولاً از هرم کمینه استفاده می‌شود. 
 در هر دو نوع، مقادیر گره‌ها از پیروی می‌کنند. خاصیت هرم بیشینه این است که به ازای هر گره، مقدار موجود در والدش (parent) در صورت وجود بزرگتر مساوی با مقدار آن گره است؛ بنابراین عنصر بیشینه در ریشه درخت (root) قرار دارد.
 خاصیت هرم کمینه، برعکس هرم بیشینه است به این صورت که به ازای هر گره، مقدار موجود در والدش (parent) در صورت وجود کوچکتر مساوی با مقدار آن گره است؛ بنابراین عنصر کمینه در ریشه درخت (root) قرار دارد.
 در روابطی بین اندیس هر گره (i)، والد ((parent(i)، فرزند چپ ((left(i) و فرزند راست ((right(i) آن در آرایه مرتب شده وجود دارد:
 
 اگر هرم را به چشم یک درخت ببینیم ارتفاع ( height ) برای هر گره ، اندازه طولانی‌ترین مسیر نزولی از آن گره تا یکی از برگ‌ها و ارتفاع هرم معادل با ارتفاع گره ی ریشه خواهد بود .بنابراین در هرمی دودویی متشکل از n عنصر ، ارتفاع هرم ( Θ( log n است. همچنین عمق (depth) هر گره برابر با طول مسیر از آن گره تا گرهٔ ریشه و عمق هرم معادل با عمق آخرین لایه از برگ‌ها خواهد بود.
 توابعی که بر روی هرم‌ها پیاده‌سازی می‌شوند عبارتند از:
 
 
 
 
 
 
 
 
 
 
داده ساختار هرم نباید با مفهوم که برای اختصاص پویای حافظه به کار می‌رود اشتباه شود. بعضی از زبان‌های برنامه‌نویسی مانند برای این شیوهٔ اختصاص حافظه از داده ساختار هرم استفاده می‌کنند. هرم‌ها معمولاً به صورت پیاده‌سازی می‌شوند و نیاز به ندارند.
{"title": "هرم (ساختمان داده)", "link": "https://fa.wikipedia.org//w/index.php?title=%D9%87%D8%B1%D9%85_(%D8%B3%D8%A7%D8%AE%D8%AA%D9%85%D8%A7%D9%86_%D8%AF%D8%A7%D8%AF%D9%87)&oldid=29761752", "language": "fa"}