首页 > 试题广场 >

以下排序算法,空间复杂度最高的是:

[单选题]
以下排序算法,空间复杂度最高的是:
  • 快速排序
  • 插入排序
  • 选择排序
  • 冒泡排序
快排采用了递归,每一次使用都会重新创建新的数组 
发表于 2024-08-10 11:12:29 回复(0)
1. 首先分析各排序算法空间复杂度: - 快速排序:平均空间复杂度是O(log n),最坏情况是O(n)。它在递归时要用栈空间存函数调用信息,数据有序时递归最深可达n层,空间复杂度为O(n)。 - 插入排序:是原地排序,只需常数级额外空间辅助交换元素,空间复杂度O(1)。 - 选择排序:也是原地排序,排序中只需有限额外空间记录最小值等,空间复杂度O(1)。 - 冒泡排序:同样是原地排序,主要操作是相邻元素比较交换,只需少量额外空间,空间复杂度O(1)。 2. 然后比较: - O(n)(快速排序最坏情况)大于O(1)(插入排序、选择排序、冒泡排序)。 - 所以空间复杂度最高的是快速排序(最坏情况),答案选A。
发表于 2024-11-09 08:55:51 回复(0)