什么是算法运算的后验和先验分析?

Aye*_*sha 5 algorithm methodology analysis

我是一名新开发人员.请帮助我理解算法运算的后验先验分析.我用Google搜索,但我没有得到任何正确的答案.

小智 5

算法的先验分析:这意味着我们在特定系统上运行算法之前对其进行分析(空间和时间) - 也就是说,我们仅通过查看算法而不是在特定系统上运行来确定算法的时间和空间复杂度(使用不同的处理器和编译器)。

算法的Apostiari分析:这意味着我们只有在系统上运行算法后才能对其进行分析。它直接取决于系统,并因系统而异。

在行业中,我们无法进行 Apostiari 分析,因为软件通常是为匿名用户制作的,该用户在与行业中现有的系统不同的系统上(在处理器如奔腾 3 或奔腾 4)上运行它。

在 Apriory 中,这就是我们使用渐近符号来确定时间和空间复杂度的原因,因为它们从计算机到计算机变化,但渐近它们是相同的。


Rom*_*nko 2

简而言之

在先验分析中,我们获得了限制算法计算时间的函数。

在后验分析中,我们收集有关算法执行时的时间和空间消耗的实际统计数据。

这是书。

稍微长一点:

维基百科定义

Ans另一篇文章引用

到目前为止,分析算法的最重要原因是确保它能够正确解决您的问题。如果我们的算法不起作用,那么其他一切都不重要。所以我们必须对其进行分析,以证明它始终会按预期工作。

我们还必须考虑算法的效率。如果它解决了我们的问题,但需要 O(nn) 时间(或空间!),那么我们可能应该考虑重新设计。