【发布时间】:2020-10-13 03:17:49
【问题描述】:
如何在更短的时间内获得此计数。 如果有可能在更短的时间内获得它,我有时间超越这种类型。
swaped = True
count = 0
while swaped != False:
swaped = False
**count** = **count**+1
# here is bubble count
for i in range(0, N-1):
if(arr[i] > arr[i+1]):
temp = arr[i]
arr[i] = arr[i+1]
arr[i+1] = temp
swaped = True
print(count)
【问题讨论】:
-
要明确一点,您想加快冒泡排序算法的速度吗?数它的气泡数?
-
@PovilasKirna 不是一件事会导致另一件事吗?
-
我很抱歉@Ashwani,但据我所知,您的冒泡排序算法已尽可能优化。所以只剩下将算法更改为更快的方法了:)
-
不,我不想优化冒泡排序算法,我只想要这样的计数,例如,如果我们在这个算法中有一个数组 [5 1 2 3 4] 需要 O(5) 时间但我们需要计算可能我们可以在更短的时间内得到的 count=1
-
@Dharmpaaji 如果您只想要计数并且对计算计数的方法不感兴趣,那么您可以使用合并排序来计算计数。冒泡排序将采用 O(n^2),但通过使用归并排序,您可以使用 O(nlogn) 复杂度计算计数。
标签: python bubble-sort