文章目录 1. 堆排序 1.1 算法思想 1.2 算法步骤 1.3 复杂度分析 2. 代码实现 2.1 Java版 1. 堆排序 1.1 算法思想 堆排序是指利用堆这种数据结构所设计的一种排序算法,堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 1.2 算法步骤 将初始待排序关键字序列(R1,R2….Rn)构建成大顶堆,此堆为初始的无序区; 将最大的数与最低端数交换并排除,此时得到了一个最值数; 重复步骤1、2,直至只剩最后一个数。 1.3 复杂度分析 堆排序利用树的思想,只需要logn次遍历就能比较整个堆,因此时...