c++ - 计算具有三个嵌套循环的 Big-O 表示法
问题描述
我想为我的代码找到 Big_O 表示法。它有三个嵌套循环,每个循环都有可能变化的参数。根据我的理解(我不确定这是否正确)。
时间复杂度是外循环中的大小,O(NKC)
是用户插入的常数。也是常数,在使用其他数据集时可能会发生变化。N
K
C
我的代码:
for (int m=0; m< size; m++)
{
int array_Y_class_target[2]{};
float CT[2]{};
float SumOf_Each_class_distances[2] = { 0.0 };
int min_index = -1;
for (int i = k; i > 0; --i) {
for (int c = 0; c < 2; ++c) {
for (int j = 0; j < i; ++j) {
int index = index_arr[j];
if (Y_train[index] == c)
{
array_Y_class_target[c] ++;
float dist = array_dist[index_arr[j]];
SumOf_Each_class_distances[c] += dist;
}
}
if (array_Y_class_target[c] != 0)
{
CT[c] = (((float)k / (float)array_Y_class_target[c]) + (SumOf_Each_class_distances[c] / (float)array_Y_class_target[c]));
}
else
{
CT[c] = 1.5; // max CT value
}
}
解决方案
推荐阅读
- python - 从文件中导入特定变量而不计算其他变量
- python - 如何从它的 id discord.py 中获取消息对象
- c - 我正在尝试制作一个打印浮点数的函数,而不使用 C 中的任何标准库函数
- java - 查找数组中整数列表的最小和和最大和
- javascript - 为什么我不能切换汉堡菜单的显示
- python - 将函数重新定义为自身的一部分——为什么是非法的?
- java - 如何使用 Java Spring Boot 验证用户注册表单?我收到一条错误消息,说 NoMessageFound 错误
- reactjs - 反应路由器:移动到 / 时要定义预期的“状态”
- javascript - 注册新用户的最佳方式是什么 - 获取与发布
- javascript - 无法在 XMLHttpRequest 响应中加载 JavaScript 函数