设有n个待排序的记录,则在堆排序中需要用作辅助存储空间的记录数是
A、n2
B、n
C、nlog2n
D、1
【正确答案】:D
【题目解析】:堆排序是指利用堆积树(堆)这种数据结构所设计的一种排序算法,只需要一个辅助空间,可命名为temp,记录当前操作的二叉树上的根结点的数值,堆排序的属于就地排序,空间复杂度为O(1)
以后碰到各排序需要的辅助空间,可以总结如下:
1选择排序 ①简单选择排序是1 ②堆排序是1
2交换排序 ①冒泡是1 ②快排 最好是log2n ,最坏是n,平均是log2n
3插入排序 ①直接插入是1 ②折半插入 是1 ③希尔是1
4归并排序是n
5基数排序是r(r个队列:r个队头指针和r个队尾指针)
发表评论 取消回复