十大排序算法-------【堆排序】详解(Java源码)

堆排序是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并且同时满足堆积的性质:即子节点的键值或者索引总数小于(或者大于)它的父节点。 算法描述 将初始待排序的序列构建成为大顶堆,此堆为初始的无序区; 将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无序区(R1,R2,…Rn-1)和新的有序区(Rn),且满足R[1,2,…n-1]<=R[n]; 由于交换后新的堆
相关文章
相关标签/搜索