怎么对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
如题
------解决方案--------------------
额,这是不可能的.否则大家都别学算法了,直接都用这个了.
1,时间复杂度O(n),空间复杂度O(N)
2,时间复杂度O(n*Lgn),空间复杂度O(1)
目前最优只能这样,要么牺牲时间,要么牺牲空间.
除非,某些算法的最优情况下,可以做到,比如插入排序后,只有两张牌乱了顺序.
但是,我们一般分析的都是平均情况和最差情况,才是算法重点要做的事情.
如题
------解决方案--------------------
额,这是不可能的.否则大家都别学算法了,直接都用这个了.
1,时间复杂度O(n),空间复杂度O(N)
2,时间复杂度O(n*Lgn),空间复杂度O(1)
目前最优只能这样,要么牺牲时间,要么牺牲空间.
除非,某些算法的最优情况下,可以做到,比如插入排序后,只有两张牌乱了顺序.
但是,我们一般分析的都是平均情况和最差情况,才是算法重点要做的事情.