本文主要是介绍堆排序的例题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
答案:D C
知识点:
堆排序是把数组排成大顶堆或者小顶堆,选择根结点的最大值或者最小值,因此它是选择排序的方法
堆排序的方法是:
先把数组所有数据组成一个二叉树,然后调整结点与左右孩子树之间的位置,使之成为大顶堆或小顶堆。构建大顶堆或者小顶堆的过程时间算法是O(logn)
由于要进行(n-1)次比较,因此整体算法复杂度是O(nlogn)
需要中间更换位置的需要一个空间存储中间值,空间复杂度是O(1)
这篇关于堆排序的例题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!