上進行互換數他們給了我一個數組,我問找出使用冒泡排序通過冒泡排序定數組
要排序的數組現在我們知道需要互換的數量這一點,我們可以通過n(n-1)/2
找到的比較,但我需要的是我的第一直覺是使用冒泡排序的actual swaps
的數量和每個交換(),我遞增交換變量。但時間複雜度是一個非常緩慢的過程,我希望你的幫助找到解決我的困境的優化方法
PS:我還需要比較它是以升序還是降序排序更快。 ...排序兩倍時間。
編輯:
很抱歉,如果我wan't不夠清楚。我想找到不使用Bubble Sort的交換。
去與你的第一直覺。有一個額外的恆定時間操作(增加一個計數),不會改變整個排序方法的漸近運行時間...爲什麼這將是一個'緩慢的過程'? – dingalapadum
「_但這是一個非常緩慢的過程_」錯誤。在這種情況下增加一個操作對時間複雜性沒有影響。此外,它是泡沫排序。如果時間複雜性是一個問題,你永遠不要使用冒泡排序。 – csmckelvey
對不起,我不想使用Bubble Sort。我想知道是否有任何算法可以在不使用Bubble Sort的情況下找到交換 –