我想出了一个新的排序算法,其中只有一个while循环,但我没有 知道如何在最佳,平均和最差的情况下计算它的效率,所以请帮我计算它 循环以i = 1开始,并且while循环的结束条件是i <= n-2,并且有时i的值在循环中增加,并且有时i值将基于某些条件递减。
我想如果你通过简单的例子说明我会更好地理解。
请帮帮我............
提前感谢那些帮助我的人......
答案 0 :(得分:2)
有时我的价值会根据某些条件递减
这种模糊性使得无法分析。如果“condition”始终为true且i
递减为零,则循环将永远运行。因此,根据您的说法,时间复杂度可以是Theta(n)
到无穷大。
计算时间复杂度的方法是计算(或设置上限)执行的操作数,作为n
的函数。在排序的情况下,“操作”通常意味着比较和复制/移动,但如果您的算法做了任何异常,那么当然必须包括它。