2709得票32回答
O(log n)的确切含义是什么?

我正在学习关于Big O符号的时间复杂度和平摊分析时间。我理解了O(n)线性时间的概念,这意味着输入规模对算法的增长成正比例影响...对于二次方时间O(n2)等同样适用...甚至像排列生成器这样的算法,其时间复杂度为O(n!),它们的增长是阶乘级别的。 例如,下面的函数是O(n),因为算法随...

976得票24回答
大O符号,如何计算或近似计算?

大多数计算机科学专业的毕业生肯定知道Big O代表什么。它帮助我们衡量算法的可扩展性。 但是我很好奇,你们是如何计算或近似计算算法复杂度的呢?

861得票19回答
如何使堆的构建时间复杂度为O(n)?

有人能帮忙解释如何将构建堆的时间复杂度优化到O(n)吗? 将一个项目插入到堆中的时间复杂度为O(log n),并且插入操作会重复进行n/2次(余下的是叶子节点,不会违反堆属性)。因此,这意味着时间复杂度应该是O(n log n)。 换句话说,对于每个我们“堆化”的项目,它有可能需要向下过滤(即...

519得票8回答
什么是恒定分摊时间?

当涉及到算法的时间复杂度时,“恒定分摊时间”的含义是什么?

466得票9回答
Θ(n)和O(n)有什么区别?

有时我看到带有奇怪符号Θ的Θ(n),有时只是O(n)。这只是因为懒得打字而没有人知道如何键入此符号,还是意味着不同的东西?

439得票5回答
415得票7回答
确定递归函数的复杂度(大O表示法)

我明天要参加计算机科学期中考试,需要帮助确定这些递归函数的复杂度。我知道如何解决简单情况,但我仍在努力学习如何解决更难的情况。以下是一些我无法解决的示例问题。非常感谢任何帮助,并将极大地帮助我的学习,谢谢!int recursiveFun1(int n) { if (n <= 0...

395得票12回答
斐波那契数列的计算复杂度

我理解大O符号,但不知道如何计算许多函数的复杂度。特别是,我一直在尝试弄清楚斐波那契数列的朴素版本的计算复杂度:int Fibonacci(int n) { if (n <= 1) return n; else return Fibonac...

391得票4回答
PHP函数的时间复杂度列表(Big-O)

使用PHP一段时间后,我注意到并不是所有内置的PHP函数都像预期的那样快。考虑下面两个可能的实现方式,用于查找一个数字是否为质数,并使用缓存数组中的质数。 //very slow for large $prime_array $prime_array = array( 2, 3, 5, 7,...