Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 恒定时间和有效恒定时间复杂性之间的差异_Algorithm_Time Complexity - Fatal编程技术网

Algorithm 恒定时间和有效恒定时间复杂性之间的差异

Algorithm 恒定时间和有效恒定时间复杂性之间的差异,algorithm,time-complexity,Algorithm,Time Complexity,我理解“恒定时间复杂度O(1)”,但当我遇到有效恒定时间复杂度这个术语时,我非常困惑。我从Scala的烹饪书中得到了以下关于有效常数时间的句子 该操作实际上需要恒定的时间,但这可能取决于 在某些假设下,如向量的最大长度,或 散列密钥的分发 但我相信上面的例子不是有效常数时间,而是摊销常数时间 请你给出恒定时间和有效恒定时间之间的明确区别。这将非常有帮助。谢谢 它的意思与引文所说的差不多:它不是常数时间,但在一些合理的假设下,它只比常数时间稍微差一点,不足以引起注意 所以,它不是恒定的时间,但它非

我理解“恒定时间复杂度O(1)”,但当我遇到有效恒定时间复杂度这个术语时,我非常困惑。我从Scala的烹饪书中得到了以下关于有效常数时间的句子

该操作实际上需要恒定的时间,但这可能取决于 在某些假设下,如向量的最大长度,或 散列密钥的分发

但我相信上面的例子不是有效常数时间,而是摊销常数时间


请你给出恒定时间和有效恒定时间之间的明确区别。这将非常有帮助。谢谢

它的意思与引文所说的差不多:它不是常数时间,但在一些合理的假设下,它只比常数时间稍微差一点,不足以引起注意

所以,它不是恒定的时间,但它非常接近,以至于差异无关紧要,这实际上使它(几乎)恒定了时间


例如,将阵列数据结构实现为32路树从技术上讲是O(logn)而不是O(1)。但是一个有40亿条目的数组只有6.4层深,所以它基本上比传统的可变连续数组慢7倍。

不,它没有。在同一页上,作者明确区分了有效常数时间和摊销常数时间。