O(n log n) - Heap Sort

使用 Min Heap - PriorityQueue 来实现。
代码:

public void heapSort(int[] array) {
    if (array == null || array.length == 0) {
        return;
    }

    PriorityQueue minHeap = new PriorityQueue<>(array.length);

    for (int i = 0; i < array.length; i++) {
        minHeap.offer(array[i]);
    }

    for (int i = 0; i < array.length; i++) {
        array[i] = minHeap.poll();
    }
}

时间复杂度: Fixed O(n log n)
空间复杂度: O(n)

你可能感兴趣的:(O(n log n) - Heap Sort)