【发布时间】:2019-11-11 16:57:52
【问题描述】:
我是新程序员,最近在学习数据结构和算法。现在我无法理解 Geeks for Geeks 的时间复杂度示例,非常感谢您的建议
这里是链接: https://www.geeksforgeeks.org/analysis-of-algorithms-set-4-analysis-of-loops/ 我们可以参考上面链接中的第(1)和(2)部分
// 1st piece of code
for (int i = 1; i <= c; i++) {
// some O(1) expressions
}
// 2nd piece of code: and c is a constant
for (int i = 1; i <= n; i += c) {
// some O(1) expressions
}
for (int i = n; i > 0; i -= c) {
// some O(1) expressions
}
我不知道为什么第二段代码有 O(N) 而第一段有 O(1) 只是因为第二段增加了 c,但第一段增加了一个常数(这是一个)也。 如果可能的话,任何人都可以建议我可以阅读的任何资源,以便我可以很好地理解时间复杂度吗?最近我在练习HackerRank,我的很多程序都不能通过所有的测试用例,因为它们运行得很慢:)
【问题讨论】:
标签: time-complexity