Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我提出了一种新的排序算法,其中只有一个 do while 循环,但我不知道如何计算它在最佳、平均和最坏情况下的效率,所以请帮助我计算它。 循环以 i=1 开始,while 循环的结束条件是 i<=n-2,有时 i 的值会在循环中增加,有时 i 的值会根据某些条件减少。
如果你通过简单的例子来说明,我想我会更好地理解。请帮助我............ 提前感谢那些帮助我的人......
有时我的价值会根据某些条件递减
这种模糊性使我们无法分析。如果“条件”始终为真并且i递减为零,则循环将永远运行。所以根据你所说的,时间复杂度可能是Theta(n)无穷大。
i
Theta(n)
计算时间复杂度的方法是计算(或设置上限)执行的操作数,作为 的函数n。在排序的情况下,“操作”通常意味着比较和复制/移动,但如果你的算法做任何不寻常的事情,那么当然必须包括在内。
n