大家好,又见面了,我是你们的朋友全栈君。
struct HeapStruct;
typedef struct HeapStruct* PriorityQueue;
PriorityQueue Initialize (int MaxElements);
void Destroy (PriorityQueue H);
void MakeEmpty (PriorityQueue H);
void Insert (ElementType X, PriorityQueue H);
ElementType DeleteMin (PriorityQueue H);
ElementType FindMin (PriorityQueue H);
int IsEmpty (PriorityQueue H);
int IsFull (PriorityQueue H);
struct HeapStruct
{
int Capacity;
int size;
ElementType* Elements;
}
插入操作,将新增元素放到最后面,比较其与父节点,进行上滤,O(logN)
删除操作,删除根节点元素后,进行下滤,O(logN)
根元素即为所求,O(1)
求第k大的数,求最大前k个数,klogN
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160504.html原文链接:https://javaforall.cn