堆排序
作者:互联网
前言:
堆性质定义
大根堆:arr(i)>arr(2*i+1) && arr(i)>arr(2*i+2)
小根堆:arr(i)<arr(2*i+1) && arr(i)<arr(2*i+2)
堆排序基本思想:
1.首先将待排序的数组构造成一个大根堆,此时,整个数组的最大值就是堆结构的顶端
2.将顶端的数与末尾的数交换,此时,末尾的数为最大值,剩余待排序数组个数为n-1
3.将剩余的n-1个数再构造成大根堆,再将顶端数与n-1位置的数交换,如此反复执行,便能得到有序数组
(一)代码
每天没干什么,就感觉好累
标签:大根堆,arr,最大值,堆排序,顶端,数组 来源: https://www.cnblogs.com/misscai/p/15438847.html