【排序算法】堆排序原理及Java实现

一、基本思想 堆是一种特殊的树形数据结构,其每一个节点都有一个值,一般提到的堆都是指一颗彻底二叉树,根结点的值小于(或大于)两个子节点的值,同时,根节点的两个子树也分别是一个堆。 堆排序就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构形成一个大顶堆。此时,整个序列的最大值就是堆顶的根节点。将它移走(其实就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值),而后将剩余
相关文章
相关标签/搜索