以下哪个算法的空间效率为O(1)?
答案解析
本题考查算法的空间效率。逆序存放数组时,如果使用一个额外变量进行前后元素交换,则空间效率为O(1),因为额外空间不随输入数据量变化。而冒泡排序的空间效率也是O(1),但题目中描述的是逆序存放数组。归并排序需要使用额外空间,其空间效率为O(n)。使用额外数组存放逆序数组的空间效率为O(n)。
A. 冒泡排序虽然空间效率为O(1),但题目考查的是逆序存放数组算法。
B. 归并排序需要使用额外空间,其空间效率为O(n)。
C. 逆序存放数组(使用额外变量)的空间效率为O(1),是本题的正确答案。
D. 逆序存放数组(使用额外数组)的空间效率为O(n),因为需要与原数组相同大小的额外空间。
正确答案:C