C++ 数组循环的时间复杂度
Time complexity of c++ array loop
我有以下循环,但无法计算复杂性。我需要帮助
int A[n][n];
for(int i=0; i<n;i++) {
for(int j=0;j<n;j++) {
int x;
cin >> x;
A[i][j] = x;
}
}
int sumLine = 0;
for(int k=0;k<n;k++) {
sumLine += A[k][0];
}
我将不胜感激
您需要分析三个循环。 前两个是一组嵌套循环:每次内部 (j( 循环运行 n
次时,外部 (i( 循环运行一次。 因为外循环最终运行 n
次,所以整个集合将运行 n*n = n^2
次,所以我们说这组循环在 O(n^2( 时间内运行。 一旦这些循环完成,第三个 (k( 循环运行 n
次,即 O(n( 时间。
当您有两个具有不同 big-O 复杂性的独立操作,并且想要将复杂性相加以获得它们的总数时,您可以采用两者中较大的一个。 由于 O(n^2( 比 O(n( "大",我们说整个程序在 O(n^2( 时间内运行。
时间复杂度将为 O(n^2(。在此处阅读有关时间复杂度的更多信息 - 如何查找算法的时间复杂度。这里有一些很好的解释。
相关文章:
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- 函数的时间复杂度是多少?
- 如何检查两个 std::向量在小于 O(n) 的时间复杂度内是否相等
- 时间复杂度 当具有复合数据类型(如元组或对)时?
- 如何计算此排序函数的时间复杂度?
- 计算两个代码块的时间复杂度
- C++ 中具有 O(1) 搜索时间复杂度的数据结构
- 具有嵌套 if-else 的循环的时间复杂度
- 将树节点添加到向量向量中的 n 元树遍历的平均和最坏情况时间复杂度是多少?
- 如何计算函数的时间复杂度?
- 求解包含"variables"的 T(n) 时间复杂度
- 2 个嵌套循环的时间复杂度
- 如何在 c++ 下使用嵌套循环和正则表达式降低时间复杂度?
- 带有 if 语句的嵌套循环的时间复杂度
- C++ 数组循环的时间复杂度
- 以下循环的时间复杂度是多少
- 内部 for 循环的时间复杂度
- 嵌套循环的时间复杂度:cn(n+1)/2从何而来