数据结构 - 堆

1.概念
 堆是一种特殊的树形结构,建立在完全二叉树的基础上,属于特殊的完全二叉树。

2.分类
 堆可以分为最大堆和最小堆:
 最大堆:每个父节点都大于孩子节点
 最小堆:每个父节点都小于孩子节点

3.堆的作用
 (1) 优先队列的实现;
 (2) 堆排序;
 (3) 大数据处理 - 海量数据top K问题(问题描述: N个数据,此N 个数很大,找出最大的前K个);
 (4) HeapSort : 利用堆的性质给数组排序 , 并且不创建堆

4.堆的实现

 堆一般用数组实现,也可用链表实现

 1 上浮(shift_up);
 2 下沉(shift_down);
 3 插入(push);
 4 弹出(pop);
 5 取顶(top);
 6 堆排序(heap_sort);
 

你可能感兴趣的:(数据结构与算法)