Max-heap :
kondisi heap tree yang memiliki nilai tertinggi berada di node root
dan setiap child node memiliki nilai yang lebih kecil dari nilai yang
dimiliki parent nodenya.
Min-heap :
kondisi kebalikan dengan max-heap, pada min-heap nilai terkecil
berada di node root dan setiap child node memiliki nilai yang lebih
besar dari nilai yang dimiliki parent nodenya.
Info tambahan
aray A = 6,5,3,1,8,7,2,4
MAX-HEAP(ANIMASI/VID)
aray A = 6,5,3,1,8,7,2,4
CONTOH CODING HEAP SORT
#include<stdio.h>
#include <stdlib.h>
#define MAX 25
}
void heap_sort(int a[], int heapsize)
{
int i, tmp;
build_max_heap(a, heapsize);
for (i = heapsize; i > 0; i--)
{
tmp = a[i];
a[i] = a[0];
a[0] = tmp;
heapsize--;
max_heapify(a, 0, heapsize);
}
}
int main()
{
int i, r, heapsize;
int a[MAX];
for (i = 0; i < MAX; i++)
a[i] = i;
heapsize = MAX - 1;
random_shuffle(a);
printf("\n");
heap_sort(a, heapsize);
for (i = 0; i < MAX; i++)
printf("%d ", a[i]);
return 0;
}
TERIMA KASIH