首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以使用Big-O表示法来比较相同算法的优化和未优化实现的性能吗?

我可以使用Big-O表示法来比较相同算法的优化和未优化实现的性能吗?
EN

Stack Overflow用户
提问于 2014-02-12 00:03:06
回答 4查看 117关注 0票数 2

我正在写一个关于O(n)复杂度的算法的优化。它仍然有O(n)的复杂度,但执行时间有了极大的改善。我说我改进了O部分,对吗?如果不是,我怎么才能提到算法的速度呢?

EN

回答 4

Stack Overflow用户

发布于 2014-02-12 00:06:24

如果您只改进了常量,则需要提供具体的计时统计信息。大O符号仅用于渐近行为。例如,您需要指定一组给定的测试数据,并显示优化后的版本比未优化的版本快X%或X倍。

您还没有改进实现的渐近行为,因为原始版本和优化版本都运行在O(n)时间内。

票数 3
EN

Stack Overflow用户

发布于 2014-02-12 00:08:23

例如,9001n^2算法和n^2算法都是大O(n^2),但是其中一个算法的速度要快9001倍。因此,从第一个到第二个减少了9001倍的运行时间。

票数 0
EN

Stack Overflow用户

发布于 2014-02-12 00:08:37

O(n) = O(n),所以不能说大O复杂度的变化,因为大O复杂度没有变化。

您可以简单地说,运行时间缩短了X倍或某个百分比,或者您也可以使用~-notation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21706845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档