Algorithm 了解算法的运行时间

Algorithm 了解算法的运行时间,algorithm,performance,Algorithm,Performance,我想知道,给定一台计算机和一个算法运行时间的大O,知道该算法在这台计算机中的实际预计时间 例如,假设我有一个复杂度为O(n)的算法,一台计算机有一个3.00GHz的处理器、一个内核、32位和4GB RAM。如何估计此算法所需的实际秒数 谢谢这个问题没有很好的答案,仅仅是因为大O符号从来就不是用来回答这类问题的 大O符号告诉我们的是: 大O表示法根据函数的增长率来表征函数:具有相同增长率的不同函数可以使用相同的O表示法来表示 请注意,这意味着可以为具有非常不同值的函数指定相同的大O值 换句话说,大

我想知道,给定一台计算机和一个算法运行时间的大O,知道该算法在这台计算机中的实际预计时间

例如,假设我有一个复杂度为O(n)的算法,一台计算机有一个3.00GHz的处理器、一个内核、32位和4GB RAM。如何估计此算法所需的实际秒数


谢谢

这个问题没有很好的答案,仅仅是因为大O符号从来就不是用来回答这类问题的

大O符号告诉我们的是:

大O表示法根据函数的增长率来表征函数:具有相同增长率的不同函数可以使用相同的O表示法来表示

请注意,这意味着可以为具有非常不同值的函数指定相同的大O值


换句话说,大O表示法并不能告诉您算法在特定输入上的运行速度,而是在输入的大小接近无穷大时比较它们的运行时间。

您显然需要知道大O中忽略的常量项,以及算法如何编译到机器周期,任何内存或IO瓶颈都会出现,所以O本身是不够的。你最好的办法是实施和衡量。这应该回答你的问题:(基本上,你不能)