Big o 编写测试程序以评估计算复杂性(大O)

Big o 编写测试程序以评估计算复杂性(大O),big-o,Big O,我的任务是编写一个测试程序来评估以下问题的计算复杂性,但我真的不知道从哪里开始 一个循环迭代了n次 一个嵌套循环,其中eaach循环被迭代n次 这就是我能够制作的 for(int i=0; i <n; i++){ // Do stuff } 现在的问题是如何编写测试程序。有人能帮我一下吗?根据你的描述,算法的复杂性似乎在^2。 可以尝试通过实验对其进行评估:只需使用不同的n值运行algo并计算时间。然后在图形的x轴上绘制n值,在y轴上绘制时间值。现在,您应该可以看到抛物线的近似值。

我的任务是编写一个测试程序来评估以下问题的计算复杂性,但我真的不知道从哪里开始

一个循环迭代了n次 一个嵌套循环,其中eaach循环被迭代n次 这就是我能够制作的

for(int i=0; i <n; i++){
   // Do stuff
}

现在的问题是如何编写测试程序。有人能帮我一下吗?

根据你的描述,算法的复杂性似乎在^2。
可以尝试通过实验对其进行评估:只需使用不同的n值运行algo并计算时间。然后在图形的x轴上绘制n值,在y轴上绘制时间值。现在,您应该可以看到抛物线的近似值。

对于形式为n^k(其中k>=0)的复杂问题,可以通过计算嵌套循环的数量来编写代码。但它很难在复杂的递归问题中实现 复杂性n^2*lgn


我还没有实现它,但我确信,可以用C语言实现吗?你在正确的轨道上。阅读更多关于big-o的内容,这里你无法真正评估计算复杂性,因为big-o符号是根据渐近性能定义的,即当n趋于无穷大时,它是行为的代数表达式。但是,您可以对不同的n值运行程序,计时并绘制结果。这就是你想做的吗?