如何实现空间复杂度O(1)的快排

如何实现空间复杂度O(1)的快排

https://img1.sycdn.imooc.com//climg/6346caf309ca53f709180231.jpg

https://img1.sycdn.imooc.com//climg/6346cb2809ebbe9308180060.jpg

在这个《算法分析与设计》Michael.T.Goodrich 一书中看到这个说法,有可能实现这种非递归的O(1)的空间复杂度的快排吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
山行老师 2022-10-13 00:42:52
不可能,快排怎么都跟问题规模相关,时间复杂度不可能为常数项
  • 提问者 anyex #1

    空间复杂度O(1)呢,因为递归方式如果对大量数据排序可能有栈溢出的风险,看这个里面的介绍感觉是有实现常数级空间复杂度的快排的方案

    2022-10-13 09:43:37
  • 有空间复杂度不变的,那就是确定好用几个指针来排序(不一定是快排),比如冒泡排序,不管排序元素是100个还是1000,需要的指针变量不会随着问题规模变大,这样的算法空间复杂度就是O(1)

    2022-10-31 13:28:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师