在最坏情况下,堆排序的时间复杂度是( )。

admin2016-04-07  48

问题 在最坏情况下,堆排序的时间复杂度是(    )。

选项 A、O(lgo2n)
B、O(nlog2n)
C、O(n2)
D、O(n1.5)

答案B

解析 若有n个元素的序列,将元素按顺序组成一棵完全二叉树,当且仅当满足下列条件时称为堆,大根堆是指所有节点的值大于或等于左右子节点的值;小根堆是指所有节点的值小于或等于左右子节点的值。在调整建堆的过程中,总是将根节点值与左、右子树的根节点进行比较,若不满足堆的条件,则将左、右子树根节点值中的大者与根节点值进行交换。堆排序最坏情况下需要O(nlog2n)次比较,所以时间复杂度是O(nlog2n),B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/VkDp777K
0

最新回复(0)