输入n 重复 n = n / 2 直到n <= 1
我不确定它是否具有O(n)或O(log n)的时间复杂度,因为在循环的每次迭代中n都减半...
我知道要计算你必须经历每个操作的时间复杂度,看看它相对于输入执行了多少次,让我困惑的部分是因为我们正在改变输入的值循环的每次迭代,它对总时间复杂度有什么影响?
任何关于通过查看代码来计算算法的时间复杂度的信息都会受到赞赏,因为我仍然不太喜欢它......
答案 0 :(得分:1)
回答这个问题:Input n Repeat n= n/2 Until n<= 1
是O(登录)。
更好地回答这个问题:这是一个副本:Big O, how do you calculate/approximate it?