一、最大堆和最小堆
最大堆和最小堆是二叉堆的两种形式。
1)最大堆:根节点的值是所有结点中最大的一个
2)最小堆:根节点的值是所有结点中做小的一个
二、基本操作
插入操作:只要将结点插在二叉树最后一个结点位置,然后比较它和父节点的大小,如果大则停止,否则交换位置,然后对父节点递归该过程至根节点。复杂度为O(log(N))
简单的C语言实现:
typedef struct heap {
int arr[127];
int size;
}HEAP;
void insert(HEAP *h,int n){
if(!h) return;
int sz = h->size