【发布时间】:2015-01-05 03:45:12
【问题描述】:
我在做一些练习时遇到了以下问题:
排序算法从列表的开头开始,扫描直到找到两个顺序错误的后续项目。交换这些项目并回到开始。到达列表末尾时算法结束。
对于大小为 n 的列表,最坏情况下的运行时间是多少?
我觉得它与冒泡排序类似,但可能更糟糕的是因为它没有完成扫描列表的整个过程。但我不知道如何计算它的时间复杂度。我不确定我在下面为这个算法提出的代码是否正确。非常感谢您的帮助!
for (int i=0, i<n , i++){//n is the size of the array
if (array[i]>array[i+1]){
swap (array[i], array[i+1]);
i=0;
}
}
【问题讨论】:
-
这对我来说像是插入排序,查一下
-
我很确定这不是插入排序。插入排序是指您拿起一个项目并将其插入到正确的位置。
-
那将是选择排序
-
这只是时间复杂度的问题/练习
-
i
标签: java algorithm sorting loops time-complexity