归并排序的空间复杂度为什么是O(n)?快速排序的空间复杂度为什么是O(log2n)?

来源:互联网 发布:物流开单软件 编辑:程序博客网 时间:2024/05/22 12:12
  • 归并排序每次递归需要用到一个辅助表,长度与待排序的表相等,虽然递归次数是O(log2n),但每次递归都会释放掉所占的辅助空间,所以下次递归的栈空间和辅助空间与这部分释放的空间就不相关了,因而空间复杂度还是O(n)。
  • 而快速排序每次递归都会返回一个中间值的位置,必须使用栈。所以空间复杂度就是栈用的空间。
0 0
原创粉丝点击