我正在努力提高即将发布的作业的编程技巧,这涉及到解决问题,同时使其尽可能高效,快速地运行。我知道这是一段相当有限的代码,但是如果有什么话会使其运行得更快。

该方法采用一个数组,其中包含事务的详细信息,用于维护循环的事务数量为100。因此获取平均股数然后返回。英语不太流利,所以希望这很有意义,谢谢

double Analyser::averageVolume()
{
    // Your code
    double averageNumShares = 0;
    for(int i = 0; i < nTransactions; i++)
    {
        averageNumShares += tArray[i].numShares;
    }
    averageNumShares = averageNumShares / nTransactions;
    return averageNumShares;
    //return 0
}

最佳答案

如果您需要计算n个数字的平均值,恐怕您无法将其加速超出示例代码中线性时间方法的速度。

除非将其用作另一个更复杂的算法的一部分,否则您可以不必不必计算平均值或沿这些方向计算,就可以取平均值,这将是一个O(n)操作,该操作基本上涉及对所有求和数组中的元素,然后除以元素数。正是您所拥有的。

07-25 20:49