八大排序算法之堆排序算法(JAVA)

堆排序(Heap Sort) 堆: 首先堆是一种数据结构,是一棵完全二叉树并且满足所有非叶子结点的值均不大于或均不小于其左、右孩子结点的值。分为 小根堆 和 大根堆 。 基本思想: 1、将待排序的序列构造成一个大根堆(或小根堆)。 2、此时,整个序列的最大值就是堆顶的根结点。将它移走(就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值)。 3、然后将剩余的n-1个序列重新构造成一个堆,这样就会
相关文章
相关标签/搜索