Big o 大oh测量的时间单位是多少?

Big o 大oh测量的时间单位是多少?,big-o,Big O,我正在测量应在^2上运行的程序的执行时间。为了获得预期的运行时间,我将根据我假设的输入大小计算n^2。但是我用另一个程序计算了执行时间,以毫秒为单位。所以我的问题是如何将其与n^2进行比较。对于n^2,我得到一个更大的数字。如何将其转换为毫秒?我知道这个问题可能没有你想的那么好。希望你明白我的意思 大O不能测量时间单位。它用大小为n的输入表示代码的运行时。您不能准确地使用大O表示法以毫秒为单位计算运行时,因为这可能因运行代码的每台机器而异 如果您知道算法中每个操作的运行时间,您可以估计需要多长时

我正在测量应在^2上运行的程序的执行时间。为了获得预期的运行时间,我将根据我假设的输入大小计算n^2。但是我用另一个程序计算了执行时间,以毫秒为单位。所以我的问题是如何将其与n^2进行比较。对于n^2,我得到一个更大的数字。如何将其转换为毫秒?我知道这个问题可能没有你想的那么好。希望你明白我的意思

大O不能测量时间单位。它用大小为n的输入表示代码的运行时。您不能准确地使用大O表示法以毫秒为单位计算运行时,因为这可能因运行代码的每台机器而异


如果您知道算法中每个操作的运行时间,您可以估计需要多长时间,但这并不是大O表示法的真正含义。

大O不度量时间单位。它用大小为n的输入表示代码的运行时。您不能准确地使用大O表示法以毫秒为单位计算运行时,因为这可能因运行代码的每台机器而异


如果你知道算法中每个操作的运行时间,你可以估计需要多长时间,但这并不是大O符号的真正含义。

它限定在一个常数因子内,以计算机抽象模型的步数表示的渐近运行时间,通常a.

它在一个常数因子范围内,以计算机抽象模型的步数表示的渐近运行时间,通常a.

它不以任何单位测量时间。它描述了如果n发生变化,时间将如何变化


例如,O n^2的定义是指:存在一个常数c,除前几个n外,所有n的时间最多为c*n^2。当您在不同的计算机上运行该算法时,在一台计算机上可能是5 n^2纳秒,在另一台计算机上可能是17 n^2毫秒。在一种情况下,c=5纳秒,在另一种情况下,c=17毫秒

它不以任何单位测量时间。它描述了如果n发生变化,时间将如何变化


例如,O n^2的定义是指:存在一个常数c,除前几个n外,所有n的时间最多为c*n^2。当您在不同的计算机上运行该算法时,在一台计算机上可能是5 n^2纳秒,在另一台计算机上可能是17 n^2毫秒。在一种情况下,c=5纳秒,在另一种情况下,c=17毫秒

没有。没有。它表达了运行时>>@U2EF1:是的,在抽象意义上。大O表示法和实际执行时间之间的关系是特定于体系结构的。因此,只有当您了解了比大O信息更多的信息时,您才能回答这个问题。那么有没有一种方法可以从程序中估算运行时间(以毫秒为单位),例如linux中的“时间”不确定性。您可以测量各种n值的执行时间,并以此为基础进行估算。@user246694有时。这种外推可能只在您保持在特定内存范围内时才相关,例如,当您意外命中缓存线倍数时,您可以看到突然的性能变化,当您开始交换时,性能会大幅下降,&c。一个实际的用于处理大不相同n的算法通常必须非常复杂。当然,在现实世界中没有渐近线。它表达了运行时>>@U2EF1:是的,在抽象意义上。大O表示法和实际执行时间之间的关系是特定于体系结构的。因此,只有当您了解了比大O信息更多的信息时,您才能回答这个问题。那么有没有一种方法可以从程序中估算运行时间(以毫秒为单位),例如linux中的“时间”不确定性。您可以测量各种n值的执行时间,并以此为基础进行估算。@user246694有时。这种外推可能只在您保持在特定内存范围内时才相关,例如,当您意外命中缓存线倍数时,您可以看到突然的性能变化,当您开始交换时,性能会大幅下降,&c。一个实际的用于处理大不相同n的算法通常必须非常复杂。当然,在现实世界中没有渐近线。