C++ 什么是“;渐近紧时间复杂度”;?这是代码';s时间复杂性渐近紧?

C++ 什么是“;渐近紧时间复杂度”;?这是代码';s时间复杂性渐近紧?,c++,big-o,complexity-theory,C++,Big O,Complexity Theory,为什么这个代码的时间复杂度是O(xnm) 这个代码的时间复杂度是渐近紧的吗 为什么? #包括 #包括 使用名称空间std; int main() { INTA[10][10],b[10][10],c[10][10];; int x,y,i,j,m,n; cout>x>>y; //x表示矩阵A中的行数 //y表示矩阵A中的列数 cout>a[i][j]; } cout因为大部分计算在这里完成: for (i = 0; i < x; i++) { for (j = 0;

为什么这个代码的时间复杂度是O(xnm)

这个代码的时间复杂度是渐近紧的吗

为什么?

#包括
#包括
使用名称空间std;
int main()
{
INTA[10][10],b[10][10],c[10][10];;
int x,y,i,j,m,n;
cout>x>>y;
//x表示矩阵A中的行数
//y表示矩阵A中的列数
cout>a[i][j];
}

cout因为大部分计算在这里完成:

for (i = 0; i < x; i++)
    {
        for (j = 0; j < n; j++)
        {
            c[i][j] = 0;
            for (int k = 0; k < m; k++)
            {
                c[i][j] = c[i][j] + a[i][k] * b[k][j];
            }
        }
    }
(i=0;i { 对于(j=0;j
这里的加法、乘法和赋值等基本运算的数量近似为
x*n*m
。这就是为什么该算法具有
O(x*n*m)
渐近性。但是,矩阵乘法可以更快地在渐近条件下完成。只需查看有关矩阵乘法和大o表示法的相关文章

您的代码格式非常混乱,“紧密性”是绑定的属性,而不是代码的属性。如果同一个界既是上界又是下界,那么它就是紧界。例如,如果时间复杂度最多是线性的,至少是线性的,则有一个严格的界限。如果你只知道一个上界,那么可能会有一个你不知道的较小的上界。如果上限也是不可能发生的下限-你的上限不可能太高(或者下限太低),所以它是一个紧的上限。
for (i = 0; i < x; i++)
    {
        for (j = 0; j < n; j++)
        {
            c[i][j] = 0;
            for (int k = 0; k < m; k++)
            {
                c[i][j] = c[i][j] + a[i][k] * b[k][j];
            }
        }
    }