排序算法堆排序
参考:堆排序
1. 堆的数据结构
大顶堆;
堆顶的数据大于子节点的数据;
采用数组存储堆
父子节点的下标关系:
int child_index;
int fa_index;
fa_index=(child_index-1)/2;
child_index=fa_index*2+1//left
child_index=fa_index*2+2//right
2.维护大顶堆
找到孩子中较大数字;
进行交换;
维护代码
void heapify(vector<int>arr,int n,in
原创
2022-03-13 16:21:15 ·
2037 阅读 ·
0 评论