上进行互换数他们给了我一个数组,我问找出使用冒泡排序通过冒泡排序定数组
要排序的数组现在我们知道需要互换的数量这一点,我们可以通过n(n-1)/2
找到的比较,但我需要的是我的第一直觉是使用冒泡排序的actual swaps
的数量和每个交换(),我递增交换变量。但时间复杂度是一个非常缓慢的过程,我希望你的帮助找到解决我的困境的优化方法
PS:我还需要比较它是以升序还是降序排序更快。 ...排序两倍时间。
编辑:
很抱歉,如果我wan't不够清楚。我想找到不使用Bubble Sort的交换。
去与你的第一直觉。有一个额外的恒定时间操作(增加一个计数),不会改变整个排序方法的渐近运行时间...为什么这将是一个'缓慢的过程'? – dingalapadum
“_但这是一个非常缓慢的过程_”错误。在这种情况下增加一个操作对时间复杂性没有影响。此外,它是泡沫排序。如果时间复杂性是一个问题,你永远不要使用冒泡排序。 – csmckelvey
对不起,我不想使用Bubble Sort。我想知道是否有任何算法可以在不使用Bubble Sort的情况下找到交换 –