我一直在寻找气球排序的复杂性,但我还没有在互联网上看到任何相关信息。有人可以给我一个平均情况,最佳情况和最坏情况的气球排序吗?我们正在对它进行研究,我们真的需要它来完成我们的论文。
答案 0 :(得分:1)
对我来说看起来像O(n ^ 2)。
for(x=0;x<num;x++)
{
for(y=0;y<num-x;y++){
if(N[x] > N[x+y]){
temp=N[x];
N[x] =N[x+y];
N[x+y]=temp;
}
}
第一个循环你有n。
对于第二个循环,当x = 0时,循环再运行n次(这是最坏的情况)。因此你有n * n = n ^ 2
看起来其他循环只有O(n),因此O(n ^ 2)控制运行时间。