堆排序方法学习记录
1.堆(完全二叉树)中寻找位置需要的三个重要的公式
1.结点 i 的父节点为(i-1)/2 (除根节点外)
2.结点 i 的左子女为 2i+1
3.结点 i 的右子女为 2i+2
2.下滑调整算法siftdown与最大堆的建立
下滑调整算法只对局部范围有效。也就是对当前子树(父节点,左孩,右孩)有效,只有进行了交换,算法才会往下滑,所以利用siftdown进行堆建立时,必须从堆的最后一个子树开始(最后一个父节点),逐步向上调整至根节点
void siftDown(vector<int> V,
原创
2021-11-21 11:51:59 ·
449 阅读 ·
0 评论