مرتب‌سازی هرمی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
خرابکاری 81.31.163.78 به نسخهٔ 2965113 Tanhabot (فحش های رکیک) واگردانده شد.
خط ۲۶:
9 then swap(A[i],A[largest])
10 MAX-HEAPIFY(A,largest)
</source>
 
== [[شبه کد]] مرتب سازی هرمی ==
دو نوع Heap دودویی وجود دارد:max-Heapها وmin-Heap‌ها.در هر دو نوع، مقادیر درون گره‌ها ویژگی Heap را ارضاء می‌کنند که ویژگی‌های هرکدام به نوع Heap بستگی دارند.ویژگیmax-Heap این است که برای هر گره i به جزء ریشه:
<source lang="java">
A[PARENT(i)]>A[i]
</source>
به طوری که:
<source lang="java">
PARENT(i)
return i/2
</source>
به عبارت دیگر مقدار یک گره حداکثر برابر مقدار پدرش است؛ بنابراین بزرگترین عضو max-Heap در ریشه ذخیره می‌شود.ویژگی min-Heap به صورت بر عکس شکل می‌گیرد.کوچکترین عضو در ریشه قرار می‌گیرد.در این الگوریتم مرتب سازی ازmax-Heap استفاده کردیم.
<source lang="java">
HEAPSORT(A)
1 BIULD-MAX-HEAP(A)
2 for(i=length [A] downto 2)
3 do swap(A[1],A[i])
4 Heap-size[A]=Heap-size[A]-1
5 MAX-HEAPIFY(A,1)
</source>