首页 > 试题广场 >

以下算法中哪些算法的空间复杂度为O(1)( &n...

[不定项选择题]
以下算法中哪些算法的空间复杂度为O(1)?
  • 简单选择排序
  • 快速排序
  • 基数排序
  • 堆排序
算法空间复杂度(辅助空间)
O(1) 冒泡排序
O(1) 简单选择
O(1) 直接插入
O(1) 希尔排序
O(1) 堆排序
O(n) 归并排序
O(log n)~O(n) 快速排序
发表于 2019-08-19 17:09:10 回复(0)
基数排序:k进制的话需要k个桶
快速排序:基于递归,考虑栈空间,空间复杂度从最坏O(N)到最好O(logN)
发表于 2019-08-14 11:17:11 回复(0)
除了基数和快排不就是都是O(1)吗?

发表于 2020-07-05 21:41:59 回复(0)
快速排序

不要忘了有压栈的消耗,非递归也要用栈实现 

发表于 2022-10-05 10:50:35 回复(0)

简单选择排序、快速排序和堆排序都是原地排序算法,它们只需要使用常量级的额外空间来进行排序操作,而不随问题规模的增加而增加,因此它们的空间复杂度为O(1)。

基数排序通常需要使用额外的空间来存储中间结果,因此它的空间复杂度不是O(1)。

发表于 2023-10-13 09:38:12 回复(0)
快排使用递归,递归使用栈,栈就是O(logn)
发表于 2022-04-26 21:10:48 回复(0)
<p>排序算法的空间复杂度指的是辅助空间的复杂度</p>
发表于 2020-11-04 01:13:32 回复(0)
.。。这真的是前端题吗

发表于 2020-08-06 16:40:18 回复(0)