首页 > 试题广场 >

对于包含n个元素的序列,对其进行堆排序需要经历几次建堆操作(

[单选题]

对于包含n个元素的序列,对其进行堆排序需要经历几次建堆操作()

  • n

  • n+1

  • n-1

  • n/2
题还是得读懂,问的是在整个堆排序过程中需要几次建堆的操作? 那么,初始时候需要先将数组建堆,这是一次;后有在排序的主体循环中每拿走一个元素都需要将剩余重新构建成堆,一共只需要拿走n-1个元素就可以得到有序序列,因此循环了n-1次,所以构建了n-1次堆。两者相加,共n次堆的构建。
发表于 2022-05-16 07:30:34 回复(0)
建堆,原本是空堆所以是n
发表于 2022-03-09 17:20:54 回复(0)
建堆的复杂度是O(n),堆排序的复杂度是O(nlogn),整个堆排序建立n次堆
发表于 2023-11-22 15:11:18 回复(0)
这题没懂 谁来讲讲😂
发表于 2022-03-06 18:17:06 回复(2)
最后一次也需要吗?
发表于 2022-03-06 16:26:07 回复(0)