|
1
4
对于我们这些凡人来说,他们只想知道一个算法:
有一个简单的步骤叫做“基准测试”。 挑选该地区最好的竞争者,并与你的算法进行比较。 如果您的算法获胜,那么它将更好地满足您的需求(由 |
![]() |
2
8
没有简单的方法证明任何给定的算法是渐近最优的。 证明最优性(如果有的话)有时会在算法编写之后的几年和/或几十年。一个典型的例子是 Union-Find/disjoint-set data structure .
对于某些算法来说,最优性可以通过非常仔细的分析来证明,但一般来说,一旦一个算法被编写出来,就很难判断它是否是最优的。事实上,要证明算法是否正确并不总是容易的。 另请参见
实际考虑请注意,由于许多因素(例如,易于实现、给定输入参数范围的实际性能更好等),有时渐近“更差”算法在实践中更好。 一个典型的例子是 quicksort 简单的枢轴选择可能表现出二次最坏情况的性能,但在许多情况下仍优于更复杂的变量和/或其他渐近最优排序算法。 |
![]() |
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 6 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 6 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 10 月前 |
![]() |
Paul C · 在维基百科上,将二叉搜索树转换为排序链表的算法是否存在错误? 10 月前 |
![]() |
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 11 月前 |
![]() |
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 11 月前 |