堆排序
堆排序的思想是先调用堆的inset方法,再调用堆的remove方法输出。
实现
for (i = 0; i < size; i++) heap.insert(array[i]); for (i = 0; i < size; i++) array[i] = heap.remove();
效率
堆的insert、remove都是log2N;且insert、remove都要执行n次,所以整体的效率是2*N*log2N,O(N*logN)。
堆排序
堆排序的思想是先调用堆的inset方法,再调用堆的remove方法输出。
实现
for (i = 0; i < size; i++) heap.insert(array[i]); for (i = 0; i < size; i++) array[i] = heap.remove();
效率
堆的insert、remove都是log2N;且insert、remove都要执行n次,所以整体的效率是2*N*log2N,O(N*logN)。