堆排序(Heap Sort)
堆排序是利用堆这种数据结构而设计的一种排序算法,是一种选择排序。
二叉堆是一个完全二叉树,即除了最后一层外,其余层都是满的,且最后一层是从左向右填充的。若用数组A[0..A.length-1]表示堆,则节点A[i]的左节点为A[2i+1],右节点为A[2i+2],父节点为
二叉堆有两种:最大堆和最小堆。对于最大堆:A[i]>=A[2i+1]且A[i]>=A[2i+2];对于最小堆:A[i]<=A[2i+1]且A[i]<=A[2i+2];
堆排序是利用堆这种数据结构而设计的一种排序算法,是一种选择排序。
二叉堆是一个完全二叉树,即除了最后一层外,其余层都是满的,且最后一层是从左向右填充的。若用数组A[0..A.length-1]表示堆,则节点A[i]的左节点为A[2i+1],右节点为A[2i+2],父节点为
二叉堆有两种:最大堆和最小堆。对于最大堆:A[i]>=A[2i+1]且A[i]>=A[2i+2];对于最小堆:A[i]<=A[2i+1]且A[i]<=A[2i+2];