实现O(n³)时间复杂度的代码用C语言
时间: 2024-09-09 08:14:21 浏览: 37
在C语言中,实现O(n³)的时间复杂度通常意味着我们在编写一个需要大量嵌套循环处理数组或数据结构的操作,比如常见的三维数组遍历、矩阵乘法或者是递归函数处理大规模的数据集合。这里给出一个简单的例子,是一个计算所有元素三元组之和的算法,这种操作涉及三层循环:
```c
#include <stdio.h>
long long sum_of_cubes(int arr[], int n) {
long long result = 0;
for (int i = 0; i < n; i++) { // 外层循环
for (int j = 0; j < n; j++) { // 中间层循环
for (int k = 0; k < n; k++) { // 内层循环
result += arr[i] * arr[j] * arr[k]; // 三次方运算
}
}
}
return result;
}
int main() {
int array[] = {1, 2, 3, 4, 5};
int n = sizeof(array) / sizeof(array[0]);
printf("The sum of cubes is: %lld\n", sum_of_cubes(array, n));
return 0;
}
```
在这个代码里,时间复杂度是O(n³),因为对于每一个元素i,我们都有n²次内部循环。
阅读全文