-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. 这个循环的时间复杂度
- 2. 减少循环的时间复杂度
- 3. 这两个嵌套for循环的时间复杂度是多少?
- 4. 嵌套在while循环中的for循环的时间复杂度是多少?
- 5. Collection.toArray()的时间复杂度是多少?
- 6. 这个算法(代码)的时间复杂度是多少?
- 7. 这个函数的时间复杂度是多少?
- 8. 这个伪代码的时间复杂度是多少?
- 9. 这个算法的时间复杂度是多少?
- 10. 这个程序片段的时间复杂度是多少?
- 11. 这个程序的时间复杂度是多少?
- 12. 这个算法的时间复杂度是多少?
- 13. 这段代码片段的时间复杂度是多少?
- 14. 下面的嵌套循环代码的时间复杂度是多少?
- 15. 这个while循环的时间复杂度:
- 16. 如何确定这个循环的时间复杂度?
- 17. 这个while循环的时间复杂度?
- 18. 这个while循环的时间复杂度
- 19. 以下嵌套循环依赖关系的时间复杂度是多少?
- 20. 定向非循环词图中查找的时间复杂度是多少?
- 21. 这个排列算法的空间复杂度是多少?
- 22. 嵌套循环的时间复杂度
- 23. 循环的时间复杂度
- 24. 变量循环的时间复杂度
- 25. 循环的θ时间复杂度
- 26. 这个伪代码的运行时复杂度是多少?
- 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