big-o相关内容

JavaScript数组的大澳

在JavaScript中数组是很容易修改通过添加和删除项目。它有点掩盖一个事实,即大多数语言阵列是固定尺寸的,并且需要复杂的操作来调整。似乎的JavaScript可以很容易地编写业绩不佳的阵列code。这就引出了一个问题: 我可以从JavaScript实现期望的问候阵列的性能表现是什么(在大O时间复杂性方面)? 我认为所有合理的JavaScript实现至少有以下大O的。 访问 - O(1) ..
发布时间:2015-11-30 13:40:55 前端开发

莱文斯坦距离算法优于O(N * M)?

我一直在寻找一种先进的Levenshtein距离算法,并最好的,我已经发现迄今是O(N * M)其中n和m是两个字符串的长度。之所以算法是在这个规模,因为空间,而不是时间,与创建两个字符串像这样的矩阵: 是否有一个公开提供的Levenshtein算法比O(N * M)更好我不反对看先进的计算机科学论文和放大器?;研究,但一直没能找到任何东西。我已经找到一家公司,Exorbyte,据称已经建成 ..
发布时间:2015-11-30 13:40:16 移动开发

O(nlogn)算法 - 查找二进制字符串中的三个均匀间隔的人

我对一个算法的测试这个问题,昨天,我不能找出答案。这是推动我绝对是疯了,因为它是价值约40点。我想,大多数类并没有解决它正确,因为我还没有想出了在过去24小时内解决。 鉴于长度为n的任意的二进制串,查找字符串在三个均匀间隔的,如果它们存在。写一个算法,解决了这个为O(N *的log(n))的时间。 所以像这些字符串有三种那些被“均匀间隔”:11100000,0100100100 编辑:这是随 ..
发布时间:2015-11-30 13:38:30 C/C++

为什么计算斐波纳契数列2 ^ n和不是n ^ 2的复杂性?

我想用递归树来寻找斐波那契数列的复杂性,并得出结论树的高度= O(N)最坏的情况下,成本每个级别= CN ,所以的复杂性= N * N = N ^ 2 为什么是 O(2 ^ n)的? 解决方案 在一个天真的递归斐波纳契的复杂性确实2ⁿ。 T(N)= T(N-1)+ T(N-2)= T(N-2)+ T(N-3)+ T(N-3 )+ T(N-4)= = T(N-3)+ T(N-4)+ T(N ..
发布时间:2015-11-30 13:37:11 C/C++

如何能标准:: make_heap实现最多3N的比较,同时使?

我看着到的C ++ 0x标准,发现make_heap应该做的不超过3 * N比较的要求。 即。 heapify的无序集合可以在O(N)来完成 / * @brief构造一个堆在使用比较函数对象的范围。 这是为什么? 该人士没有给我的线索(G ++ 4.4.3) 的,而(真)+ __parent == 0并不线索,而是代表O猜测(N)的行为 模板< typename的_ ..
发布时间:2015-11-30 13:31:39 C/C++开发

在堆排序快速排序的优势

堆排序有最坏情况复杂度为O(n日志)N wnile快速排序为O(n ^ 2)。 但emperical证据说,快速排序优越。这是为什么呢? 解决方案 其中一个主要因素是,快速排序具有更好的引用的局部性的 - 要访问的下一件事就是通常接近于内存到东西,你只是看着。与此相反,堆排序跳跃周围显著更多。既然事情是并拢可能会被缓存起来,快速排序往往会更快。 不过,快速排序的最坏情况下的的性能显著不如堆排 ..
发布时间:2015-11-30 13:29:31 C/C++

算法来确定阵列包含n个... N + M?

我看到在Reddit上这个问题,并没有正解presented,而且我认为这将是一个完美的问题要问在这里。这是在一个线程关于面试问题: 写方法,它的大小为m的int阵列,和返回(真/假)如果数组由号n ... N + M-1,在此范围内的所有数字和只有数字在该范围内。该阵列不保证进行排序。 (例如,{2,3,4}会返回true。{1,3,1}将返回false,{1,2,4}将返回false。 ..
发布时间:2015-11-30 13:26:13 C/C++

是的log(n!)=Θ(N·的log(n))?

这是一个家庭作业的问题。我不期待一个答案,只是一些指导,可能:)我要表明的日志( N 的!)=Θ( N 的·日志( N 的)) 一个提示是因为我应该表现出的上限是的 N 的的 N 的 并显示下界是( N 的/ 2)( N 的/ 2) 。这似乎不是所有的直觉给我。为什么会出现这种情况?我肯定可以看到如何转换的的 N 的的 N 的 为的 N 的?日志( N 的) [登录等式的两边],但是那是种工作倒 ..
发布时间:2015-11-30 13:26:08 C/C++

使用find分钟/找到-MAX比O(n)的更有效的堆栈?

我感兴趣的创建类似堆栈支持以下操作的Java数据结构,尽可能有效地: 一键,还增加了一个新的元素堆顶上, 流行音乐,这消除了堆栈顶部元素 找到-Max的,它返回(但不删除)堆栈的最大元素,而 找到民,返回(但不删除)堆栈的最小元素,而 什么是最快的实现这个数据结构的?我怎么可能去写它的Java? 解决方案 这是一个经典的数据结构的问题。问题背后的直觉是如下 - 的唯一方法是,如果你把一个新 ..
发布时间:2015-11-30 13:21:50 Java开发

大O和小O符号的区别

大O 标记 O(N)和小-O 标记 O(N)? 解决方案 F∈O(G)说,基本上 对于至少有一个选择恒定的 K 的> 0,你可以找到一个恒定的在的,这样的不平等F(X) < ķG(x)的成立对于所有的x>一。 需要注意的是O(G)是一套此条件成立。所有功能 F∈O(G)说,基本上 对于每次选择恒定的 K 的> 0,你可以找到一个恒定的在的,这样的不平等F(X)< ķ ..
发布时间:2015-11-30 13:20:42 C/C++

究竟是什么大Ө符号重新present?

我真搞不清楚大O,大欧米茄和大西塔符号之间的差异。 据我所知,大O是上界,大欧米茄是下限,但究竟是什么大Ө(THETA)重新present? 我已阅读,这意味着 紧约束的,但什么意思? 解决方案 这意味着,该算法在给定函数两个大O和大欧米茄。 例如,如果是Ө(N),则存在常数 K ,这样你功能(运行时间,等等),大于 N *氏“/ code>足够大的 N ,和一些其他的常 K 这样,你的 ..
发布时间:2015-11-30 13:16:32 C/C++

实现一个队列,其中push_rear(),pop_front()和get_min()都是固定的时间操作

我遇到了这样一个问题: 实现一个队列,其中push_rear(),pop_front()和get_min()都是常量时间的操作。 我最初以为用最小堆数据结构,具有O(1)复杂的get_min的()。但push_rear()和pop_front()是O(日志(N))。 有谁知道什么是执行这样的队列有O(1)推(),流行()和MIN()?最好的方法 我GOOGLE了这一点,并希望指出该感谢所有的 ..
发布时间:2015-11-30 13:15:19 C/C++

大澳的八岁儿童?

我问更多有关这意味着我的code。我理解的概念数学,我只是很难环绕我的头周围他们的意思概念。例如,如果一个人对数据结构进行了O(1)操作,据我所知,操作它的量来执行不会增长,因为有更多的项目。而为O(n)操作将意味着你将每个元素上执行一系列操作。可能有人在这里填写的空白? 在什么样的事情究竟会为O(n ^ 2)操作怎么办? 而到底什么意思,如果操作是O(n的log(n))? 而没有人有抽烟裂纹写 ..
发布时间:2015-11-30 13:15:04 C/C++

对大澳清单PHP函数

使用PHP一段时间了之后,我注意到,并非所有的PHP内置函数预期的快。考虑一个函数,发现如果使用的质数的缓存阵列的数是素两个以下可能的实现。 //为大$ prime_array很慢 $ prime_array =阵列(2,3,5,7,11,13,.... 104729,...); $ result_array =阵列(); 的foreach($ array_of_number => $号 ..
发布时间:2015-11-30 13:14:21 PHP

什么是O(log n)的意思是什么呢?

我目前了解大O符号的运行时间和摊销次。我理解的概念的 O(N)的线性时间,这意味着输入的大小影响算法按比例的增长... ...和同样的,例如,二次时间的为O(n 2 )的etc..even算法,如置换发电机,用的 O(N!)的时候,生长受阶乘。 例如,下面的功能的 O(N)的,因为在算法中的比例增大到其输入的 N 的: F(INT N){ INT I; 对于(I = 0; I&n种+ ..
发布时间:2015-11-30 13:13:37 C/C++

恒分期时间

什么是“恒分期时间”,当谈到时间的算法的复杂度是什么意思? 解决方案 深入浅出的摊余时间解释: 如果你做一个操作说万次,你真的不关心最坏情况或最好的情况是操作的 - 你关心的是有多少时间是在拍摄总在重复操作一百万次。 因此​​,它并不重要,如果操作很慢在一段时间一次,只要“过一段时间”是够罕见的缓慢被摊薄了。从本质上讲分期时间的意思是“每个操作的平均时间服用,如果你做很多操作”。摊余时间不 ..
发布时间:2015-11-30 13:13:31 C/C++

如何找到第k最大元素的长度为n的无序排列在O(n)的?

我相信有办法找到在长度的无序排列的n O(n)的第k个最大的元素。也许它的“预期”为O(n)或东西。我们怎样才能做到这一点? 解决方案 这就是所谓发现在 K阶统计。有一个很简单的随机算法(所谓的 quickselect 的)采取 O(N)平均时间,和pretty的复杂的非随机算法回吐 O(N)最坏情况下的时间。有一个关于维基百科的一些信息,但它不是很好。 您需要的一切都在这些PowerPoi ..
发布时间:2015-11-30 13:12:06 C/C++

大O,你怎么计算/近似它?

大多数人有一定程度的CS肯定会知道什么大O表示。 它帮助我们衡量如何(中)高效的算法确实是,如果你知道哪个类别你正在试图解决的问题奠定了你可以计算出,如果它仍然是可以挤出一点额外的性能。 1 不过我很好奇,怎么办的您的计算或近似您算法的复杂性? 1 但正如他们所说,不要过分,的 premature优化是一切罪恶的根源,并优化无正当原因应受到的名字。 解决方案 我是一个教授的助手在我的数据结 ..
发布时间:2015-11-30 13:11:47 C/C++