-3

我提出了一种新的排序算法,其中只有一个 do while 循环,但我不知道如何计算它在最佳、平均和最坏情况下的效率,所以请帮助我计算它。
循环以 i=1 开始,while 循环的结束条件是 i<=n-2,有时 i 的值会在循环中增加,有时 i 的值会根据某些条件减少。

如果你通过简单的例子来说明,我想我会更好地理解。请帮助我............
提前感谢那些帮助我的人......

4

1 回答 1

2

有时我的价值会根据某些条件递减

这种模糊性使我们无法分析。如果“条件”始终为真并且i递减为零,则循环将永远运行。所以根据你所说的,时间复杂度可能是Theta(n)无穷大。

计算时间复杂度的方法是计算(或设置上限)执行的操作数,作为 的函数n。在排序的情况下,“操作”通常意味着比较和复制/移动,但如果你的算法做任何不寻常的事情,那么当然必须包括在内。

于 2012-11-12T08:36:51.637 回答