C# 这个算法的最大目标是什么?
对于这种代码的和平,最好的案例分析和最坏的案例分析是什么?!事情变得有点复杂了。救命啊!根据不同的输入,我们会有不同的大oh吗?或者最好的情况和最坏的情况都一样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++)
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)
操作。大括号不匹配..仍然不匹配。。