-3
A
回答
0
正如评论中所述,该循环仅终止于n ≤ 0
。对于其他所有n
,程序不会终止。
我想你不想谈的复杂性,如果你有什么事情,永远不会终止,因为复杂性被用来获取大的投入运行时间的想法,并比较算法。
你甚至不能说你的代码是一种算法,因为算法的定义通常包含,它必须终止。
如果你被要求写在大澳的东西有看看这个方法不止一种。
- 算法永远不会终止,所以它是无限的操作,你不能找到一个常数
c
与∞ < c⋅f(n)
为n < ∞
功能f(n)
(多项式或指数),所以它应该是O(∞)
。
这由big-o的正式定义支持。 - 如果你看一下执行的操作的数量的变化,如果您双击输入,
n → 2n
你看到的,执行的操作的数量不会改变,所以也许O(1)
也是可能的。
这由重复公式T(n) = T(n-1)
支持。最后你必须定义T(1)
是什么。复杂性与小的或特定的输入无关,所以也许可以定义T(1) = O(1)
。
两种方式都表示,运行时间不取决于输入,但第二个主要是哲学,第一个应该是首选。
但正如我在开始时说:你不想谈上永远不会终止(或只为不相关的情况下)代码的复杂性。
相关问题
- 1. 这些循环1和2的时间复杂度是多少
- 2. 这个循环的时间复杂度
- 3. 减少循环的时间复杂度
- 4. 这两个嵌套for循环的时间复杂度是多少?
- 5. 以下循环的时间复杂度是多少
- 6. 循环的时间复杂度是多少?
- 7. 以下嵌套循环的时间复杂度是多少?
- 8. 嵌套在while循环中的for循环的时间复杂度是多少?
- 9. 证明这个双循环的时间复杂度是O(n)
- 10. Collection.toArray()的时间复杂度是多少?
- 11. 这个函数的时间复杂度是多少?
- 12. 这个算法的时间复杂度是多少?
- 13. 这个算法的时间复杂度是多少?
- 14. 这个程序的时间复杂度是多少?
- 15. 这个算法的时间复杂度是多少?
- 16. 这个程序片段的时间复杂度是多少?
- 17. 这个算法(代码)的时间复杂度是多少?
- 18. 这个伪代码的时间复杂度是多少?
- 19. 一个循环的时间复杂度
- 20. 这段代码的时间复杂度是多少(来自leetcode)?
- 21. 这段代码的时间复杂度是多少?为什么?
- 22. 这段代码片段的时间复杂度是多少?
- 23. 下面的嵌套循环代码的时间复杂度是多少?
- 24. 这个while循环的时间复杂度?
- 25. 这个while循环的时间复杂度
- 26. 这个while循环的时间复杂度:
- 27. 如何确定这个循环的时间复杂度?
- 28. 这个排列算法的空间复杂度是多少?
- 29. 时间这双循环的复杂性
- 30. 定向非循环词图中查找的时间复杂度是多少?
它取决于'n'的值,它永远不会继续。 – 2015-04-02 14:21:07
如果n <= 0,它是恒定的时间,如果n> 0,它是无限的。 – gnasher729 2015-04-02 14:21:09
或者其他的东西完全是,如果'i'在循环体中被修改! – Hurkyl 2015-04-02 14:21:37