Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这个算法的最大目标是什么?_C#_Algorithm_C# 4.0_Data Structures_Big O - Fatal编程技术网

C# 这个算法的最大目标是什么?

C# 这个算法的最大目标是什么?,c#,algorithm,c#-4.0,data-structures,big-o,C#,Algorithm,C# 4.0,Data Structures,Big O,对于这种代码的和平,最好的案例分析和最坏的案例分析是什么?!事情变得有点复杂了。救命啊!根据不同的输入,我们会有不同的大oh吗?或者最好的情况和最坏的情况都一样 int n = int.Parse(Console.ReadLine()); int i =1,j,k; while(i<=n) { for(j=1;j<=i;j++) { if(j%3==0) { for(k=1;k<=(n/2);k++)

对于这种代码的和平,最好的案例分析和最坏的案例分析是什么?!事情变得有点复杂了。救命啊!根据不同的输入,我们会有不同的大oh吗?或者最好的情况和最坏的情况都一样

int n = int.Parse(Console.ReadLine());
int i =1,j,k;
while(i<=n)
{
    for(j=1;j<=i;j++)
    {
        if(j%3==0)
        {
            for(k=1;k<=(n/2);k++)
            {
                Console.Write("*");
            }
        }
        else if(j%3==1)
        {
            k=j;
            while(k>=1)
            {
                Console.Write("@");
                k--;
            }
        }
        else
        {
            for(k=1;k<=(j%3);k++)
            {
                Console.Write("$");
            }
        }
    }
    i++;
}
int n=int.Parse(Console.ReadLine());
int i=1,j,k;

(我这是课堂作业吗?我感觉你在要求我们为你做家庭作业

简单的回答是算法是O(n^3)

n的值从控制台读取

外部循环为i=1..n(i在循环中仅递增,即不跳过任何步骤)

第二个循环是j=1..i(j只在其循环中递增,即不跳过任何步骤)

最里面的循环,至少在(j%3==0)为k=1..n/2的情况下

因此,实现该算法需要~n^3个步骤

j从1..i开始的事实意味着,平均而言,j=1..n/2,使得i/j循环需要(1/2)*n^2个步骤,仍然是O(n^2)

只有在(j%3==0)的情况下,最内部的循环才需要n/2个步骤,这意味着它平均需要(1/3)*(n/2)个步骤或(1/6)*n个步骤


结合最外面的两个循环,即(1/12)*n^3步,这是一个O(n^3)算法。

您需要首先正确格式化它。缺少缩进使得读取它成为一个
O(n^3)
操作。大括号不匹配..仍然不匹配。。