堆排序的时间复杂度是? A. O(n) B. O(n log n) C. O(n^2) D. O(log n) 答案解析 堆排序的时间复杂度主要由建堆和调整堆的过程决定,其中建堆的时间复杂度为O(n),每次调整堆的时间复杂度为O(log n),总共需要调整n-1次,因此总的时间复杂度为O(n log n)。正确答案是B。 正确答案:B