一,堆排序
1,简介:
堆排序:
1,利用堆数据结构设计的排序算法,是一种选择排序,最好、最坏平均时间复杂度都为O,也是不稳定排序,是一种完全二叉树;
2,大顶锥:每个节点的值都大于或等于其子节点的值;
3,小顶锥:每个节点的值都小于或等于其子节点的值;
排序思路:
1,将排序的序列构成一个顶锥(正序大顶锥,倒叙小顶锥);
2,此时整个序列的最值就是就是顶锥的根节点;
3,将其与末尾值进行交换就得到了末尾为最值;
4,将剩余的安装1重新构建顶锥,依次类推得到有序列的数组,达到排序效果;
2,代码
package com.sort;
import java.util.Arrays;
import java.util.jar.JarEntry;
/**
* @param
* @Author: AaNeei
* @Date: 2019/9/13 14:48
* @Description: 游学网
* @throws:
*/
public class HeapSort {
public static void main(String[] args) {
int[] arr = {