big-o相关内容

递归关系:求解T(n-1)的BigO

我正在解决Big O的一些递归关系问题. T(n)= T(n-1) 我从开始: T(n)= T(n-1)T(n-1)= T(n-2)..T(n)= T(n-k) 现在将k设置为n-1 T(n)= T(1) 所以结果是 T(n)= O(1) 我不确定这是否正确,但是我不确定这很容易. 解决方案 只要您有基本情况,是的,这是正确的. 我假设复发定义为 ..
发布时间:2021-04-15 19:29:34 其他开发

递归T(n)= 2T(n/2)+(n-1)

我有这种复发: T(n)= 2T(n/2)+(n-1) 我的尝试如下: 树是这样的: T(n)= 2T(n/2)+(n-1)T(n/2)= 2T(n/4)+((n/2)-1)T(n/4)= 2T(n/8)+((n/4)-1)... 树的最高点:(n/(2 h ))-1 = 1⇒h = lg n-1 = lg n-lg 2 最后一级的费用:2 h = 2 lg n-lg 2 ..
发布时间:2021-04-15 19:29:26 其他开发

莱布尼兹行列式公式的复杂度

我写了一些代码,使用行列式的莱布尼兹公式来计算给定nxn矩阵的行列式 我试图弄清楚O表示法的复杂性.我认为应该是这样的: O(n!)* O(n ^ 2)+ O(n)= O(n!* n ^ 2)或 O((n + 2)!)推理:我认为 O(n!)是排列的复杂性.而 O(n)是perm_parity的复杂度,而 O(n ^ 2)是每次迭代n个项的乘法. 这是我的代码: def deter ..
发布时间:2021-04-15 19:29:23 Python

O(n)+ O(n)= O(n)?

根据O'Reilly的《 Python in Nutshell》中的Alex Martelli的说法,复杂度类为 O(n)+ O(n)= O(n).所以我相信.但是很困惑.他说:"N的两个线性函数之和也是N的线性函数." 根据维基百科,在功能分析中,线性函数是线性映射,例如就是 f(x + y)= f(x)+ f(y).找到了似乎更简单的定义,此处简单地说,“线性函数是一个函数,其图形是一条 ..
发布时间:2021-04-15 19:29:15 Python

大O是否有可能小于O(1)?

可能重复: 是否有O(1/n)算法? 您的代码是否有可能比O(1)小大O? 解决方案 O(1)仅表示恒定时间操作.时间可能是1纳秒或1百万年,表示法不是绝对时间的量度.除非您当然是在时间机器上使用OS,否则您的DoTimeTravel()函数可能会具有O(-1)的复杂性:-) ..
发布时间:2021-04-15 19:29:12 其他开发

从列表中删除重复项的时间和空间复杂性

我有下面的代码,我试图获取时间复杂度. seen = set()a = [4,4,4,3,3,2,1,1,1,5,5]结果= []对于以下项目:如果没有看到项目:seen.add(项目)result.append(项目)打印(结果) 据我的理解,访问列表时,该操作的时间复杂度为 O(n).与if块一样,每次我都要查找该集合时,都会花费另一个 O(n).那么整体时间复杂度是 O(n ^ 2) ..
发布时间:2021-04-15 19:29:06 Python

构造二叉搜索树的时间复杂度是多少?

“在最坏的情况下,每个用于比较n个元素的基于比较的算法都必须进行Ω(nlogn)个比较.因此,构造n节点二进制搜索树的复杂性是什么?为什么?" 基于这个问题,我认为构造复杂度必须至少为O(nlogn).就是说,我似乎无法弄清楚如何找到构造的总复杂性. 解决方案 问题的标题和您引用的文本问的是不同的问题.我要解决报价中所说的问题,因为仅通过查看算法就可以确定BST构建的成本是多少. ..

Big-O/Big-Oh表示法问题

我正在处理Big-Oh表示法,但在理解该问题的解决方案时遇到了问题: 是2n + 10≡O(n)吗?我们可以找到c和n0吗?2n + 10 = 10n> = 10/(c-2)选择c = 3和n0 = 10 在此示例中还使用了一个图形: ..
发布时间:2021-04-15 19:29:00 其他开发

为什么O(n log n)大于O(n)?

我读到 O(n log n)大于 O(n),我想知道为什么会这样吗? 例如,将 n 设为1,并求解 O(n log n)将是 O(1 log 1) = O(0).同时, O(n)将是 O(1)? 实际上与 O(n log n)>相矛盾;O(n) 解决方案 让我们首先澄清一下当前上下文中的 Big O 表示法.从(源)中,可以阅读: 大O符号是一种数学符号,它描述了限制当参 ..

垃圾收集运行时成本的大O分析

在用垃圾回收语言推理运行时成本时,用'n'(列表中元素的数量)而言,诸如 myList = null; 之类的语句的成本是多少?出于争论的考虑,请将该列表视为参考类型的单链接列表,而无需最终确定. 更笼统地说,我正在寻找有关如何使用GC语言分析运行时成本的任何信息. 解决方案 我自己的想法是,根据收集器的实现,成本很可能是O(1)或O(n).在标记和清除收集器中,根本无法到达无法访问 ..
发布时间:2021-04-15 19:28:55 其他开发

python中的Big O符号

有人知道任何有用的资源来学习大符号吗?特别是学习如何遍历一些代码并能够看到它是O(N ^ 2)还是O(logN)?最好能告诉我为什么这样的代码等于O(N log N) def复数(数字):N = len(数字)结果= 0对于范围(N)中的i:j = 1而j ..
发布时间:2021-04-15 19:28:51 Python

为什么O(n)等于O(2n)

我了解O(N)本质上等于O(cN),其中c =“某些常数".但是如果N = c.难道不是O(N)^ 2.这随着c的增加而成立还是存在某种形式上的限制? 解决方案 如果 N = c ,则 c 不是常数.因此,绝不是这种情况. ..
发布时间:2021-04-15 19:28:46 其他开发

在字符串Python上进行计数操作的计算成本是多少?

例如: 'hello'.count('e') 这是O(n)吗?我猜它的工作方式是它扫描'hello'并在每次看到字母'e'时增加一个计数器.我怎么能不知道就知道这一点?我尝试在此处中阅读源代码,但在发现时陷入了困境这个: def计数(s,* args):“""count(s,sub [,start [,end]])-> int返回字符串中子字符串sub的出现次数s [start:end] ..
发布时间:2021-04-15 19:28:42 Python

这个大的O标记对这个C ++代码正确吗?

目前,我的最佳情况为o(n),最糟糕的情况为o(n).我不确定以下代码段是否正确,如果有人可以确认它正确或解释错误的原因,我将不胜感激.谢谢! templatevoid vector_print(const T& vector,bool repeat){for(类型名T :: size_type i = 0; i ..
发布时间:2021-04-15 19:28:39 C/C++开发