time-complexity相关内容

更糟糕的是更好的。有一个例子吗?

有没有一种广泛使用的算法的时间复杂度的糟糕的比另一种已知的算法,但它是一个的好的选择中的所有的实际情况中( 糟糕的复杂性,但好,否则的)? 这是可以接受的答案可能是这样的形式: 有算法 A 和 B 的 有 O(N ** 2)和 O(N)时间 复杂性相应地,但 B 有这么大的常数,它没有 在 A 优势投入少 然后若干个原子的的 宇宙。 这是答案的示例亮点: 单纯形法 - 最坏的情况是 ..
发布时间:2015-11-30 14:13:28 C/C++

找到最频繁的字符在字符串

我发现这个规划问题,而看一个招聘启事上左右。我认为这是pretty的有趣,作为一个初学者Python程序员我试图解决它。不过,我觉得我的解决方案是相当......凌乱......任何人都可以做任何建议,以优化它或使其更清洁?我知道这是pretty的微不足道,但我很开心写它。注:Python的2.6 的问题: 写假code(或实际code)的函数,它接受一个字符串,并返回出现在最该字符串信。 ..
发布时间:2015-11-30 14:10:02 Python

一种工具,计算的Java code中的大O的时间复杂度?

我有一个关于时间复杂度(大O符号)为Java软件的问题。有没有一种方法可以快速计算或测试(或任何网站,可以计算出这对我来说将受到欢迎)。比如我想请检查是否有code下面的代码片段,并有可能提高,以及: INT DCOUNT = 24423567; INT一个= 0; 如果(DCOUNT == 0){ 一个= 1; } ..
发布时间:2015-11-30 14:09:00 Java开发

从查找排序数组的唯一号码,在不到为O(n)

我有一次采访,并有一个问题。查找不到O(n)的时间从排序的数组唯一的编号。 例如:1 1 1 5 5 5 9 10 10 O / P 1 5 9 10 我给的解决方案,但是这是为O(n)。任何人都可以帮我这个线程。 编辑:排序数组大小约20个十亿,独特的数字是大约1000 。 解决方案 分而治之 看一个排序序列的第一个和最后一个元素(初始序列是数据[0] ..数据[ ..
发布时间:2015-11-30 14:07:38 Java开发

程序/算法找到任何给定程序的时间复杂度

我想知道是否有可能“写的计划或算法”找到所需要的时间复杂度任意给定的程序作为输入。 输入:所有程序(P)的任何语言​​或特定语言] 输出:时间程序(P)的复杂性。 是否有过任何事先的尝试写这样的计划? 是否有任何的算法可用于这一目的? 如果有,请提供任何可能的一种指导的必要联系,或引用 解决方案 没有。这是不可能的。这是停机问题的一种形式。 ..
发布时间:2015-11-30 14:07:23 C/C++

可以斐波那契函数写在O(1)的时间来执行?

于是,我们看到了很多的问题斐波纳契。我个人恨他们。很多。多了许多。我认为这会是整齐的,如果我们也许可以把它任何人都不可能永远使用它作为一个面试问题了。让我们看看如何接近O(1),我们可以得到斐波纳契。 下面是我的开球,从维基百科pretty的多crib'd,当然是有大量的空间。重要的是,该解决方案将引爆任何特别大的FIB,它包含一个比较幼稚的使用电源功能,在澳的地方吧(日志(N))在最坏的情况, ..
发布时间:2015-11-30 14:06:58 C/C++

如果检测一串具有独特的特征:比较我的解决方案,以"破解编码面试"

我通过这本书“破译编码访谈”工作,我所遇到的问题在这里寻求答案,但我需要帮助我的答案比较的解决方案。我的算法工作,但我有困难理解书中的解决方案。主要是因为我不明白一些运营商正在真正做。 的任务是:“实现的算法来确定一个字符串了所有独特的字符,如果你不能使用额外的数据结构是什么?” 这是我的解决方案: 公共静态布尔checkForUnique(字符串str){ 布尔containsUn ..
发布时间:2015-11-30 14:01:34 Java开发

计数介于0和N Ks的数量

问题: 我已经看到了这样的问题: ... 这些题型非常相似,要求找到总数的KS(即K = 0,1,2,...,9)显示号码范围 [0,N] 。 例如: 输入: K = 2,N = 35 输出: 14 详细信息: 2 列表之间 [0,35] : 2, 12,20,21,22,23,24,25,26,27,28,29,32 ,而不是 22 将被计作为两次(如 22 包含两个 2 S) 我们 ..
发布时间:2015-11-30 14:01:17 C/C++

是否有一个O(n)的整数排序算法?

上周,我绊了 请注意,这产生了直线运行时间为整数的边权重 第三页上是相同的: 这会产生一个线性的运行时间为整数边权和0(M log n)的比较为基础的分类。 和第8页: 在特定的,使用快速整数排序很可能会加速GPA很大。 这是否意味着有一个O口的整数值的特殊情况(n)的排序算法?或者,这是图论的特产? PS: 这可能是参考文献[3]可能是有帮助的,因为对他们说的第一页: ..
发布时间:2015-11-30 13:58:22 C/C++

算法的例子有O(1),O(N日志N)和O(log n)的复杂性

什么是一些算法,我们在日常使用已经O(1),O(N日志N)和O(log n)的复杂性? 解决方案 如果你想在这个问题给出算法/组的陈述与时间复杂度的例子,这里是一个小清单 - O(1)时间 1.访问数组索引(中间体一个= ARR [5]) 2.插入节点链表 3.推进和坡平对堆栈 4.插入和移除从队列 5.找出存储在阵列 一棵树的父母或节点的左/右孩子 6.跳转到下一首/ prev ..
发布时间:2015-11-30 13:55:03 C/C++

哈希表运行的复杂性(插入,搜索和删除)

为什么我总是看到不同的运行复杂性的一个哈希表这些功能呢? 在维基,搜索和删除是O(n)的(我认为哈希表的一点是要有恒定的查找有啥点,如果搜索为O(n))。 在从前段时间的一些课程笔记,我看到各式各样的复杂性依赖于某些细节,包括一个让所有的O(1)。为什么其他的实现可以使用,如果我能得到所有O(1)? 如果我用在像C语言标准的哈希表++或Java,我能想到的时间复杂度为? 解决方案 是哈希 ..
发布时间:2015-11-30 13:51:20 Java开发

懒惰的评价和时间复杂度

我环顾四周计算器非普通懒评价,害得我基冈麦卡利斯特的presentation:为什么要学习哈斯克尔。在滑盖8时,他给出了最低功能,定义为: 最小=头。分类 和说,它的复杂度为O(n)。我不明白,为什么复杂性被认为是线性的,如果被替换的排序是O(n日志n)的。在后提及的分拣可以不是线性的,因为它不承担有关数据什么,因为这将要求用线性排序的方法,如计数排序 时的懒人评价效力于这里神秘的角 ..
发布时间:2015-11-30 13:47:26 C/C++

为什么DFS和时间复杂度BFS O(V + E)

的基本算法BFS: 设置起始顶点参观 加载到队列 而队列不空 对于每一个边缘事件到顶点 如果没有访问 加载到队列 标记顶点 所以,我觉得时间复杂度将是: V1 +(关联边)+ V +(关联边)+ ... + VN +(关联边) 其中, v 是顶点 ..
发布时间:2015-11-30 13:42:01 C/C++

时间递归算法的复杂性

我如何计算递归算法的时间复杂度? INT POW1(INT X,INT N){ 如果(N == 0){ 返回1; } 其他{ 返回X * POW1(X,N-1); } } INT POW2(INT X,INT N){ 如果(N == 0){ 返回1; } 否则,如果(N&安培; 1){ ..
发布时间:2015-11-30 13:41:10 C/C++

JavaScript数组的大澳

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

将所有奇数定位元素左一半,甚至定位于右半就地

考虑到与正和负整数的数组,将所有的奇数索引元素的左侧和偶索引元素向右 这个问题的困难之处是做就地同时维持秩序。 例如。 7,5,6,3,8,4,2,1 输出应该是: 5,3,4,1,7,6,8,2 快速排序 如果订单没有问题,我们本来可以使用的分区()算法。 如何做到在O(N)? 解决方案 在获取最大的有子数组大小3 K +1 在应用周期的领导者算法来此子 ..
发布时间:2015-11-30 13:36:01 C/C++

我如何找到号码的线性时间使用堆位数?

维基百科说: 选择算法:寻找分钟, 最大,无论是最小值和最大值,中位数或 即使是第k个最大的元素可以是 线性使用时间堆完成。 所有它说的是,这是可以做到,而不是如何。 您能否给我一些开始就如何可以用堆做? 解决方案 您将使用最小 - 最大,平均堆找到最小值,最大值和中位数都在固定时间(并采取线性时间来建立堆)。您可以使用顺序统计树,找到第k个最小/最大价值。在本文在最小 - 最大堆这 ..
发布时间:2015-11-30 13:33:57 C/C++

时间埃拉托色尼算法的筛的复杂性

从维基百科: 的算法的复杂度是 O(N(LOGN)(loglogn))位操作。 如何在你到达的? 这种复杂性包括 loglogn 词告诉我,有一个的sqrt(N)的地方。 假设我的第一个100号码运行筛( N = 100 ),假设标志着数字复合时间是固定的(数组实现),数量的时候,我们使用 mark_composite()会是这样 N / 2 + N / 3 + N / 5 + N ..
发布时间:2015-11-30 13:31:26 C/C++

排序以线性时间?

由于输入设置个整数的范围内[0到n ^ 3-1],提供了一个线性时间排序算法。 这是我在周四的测试检讨,我不知道如何解决这个问题。 解决方案 另外一起来看看相关的各种过:鸽巢排序或计数排序,还有的基数排序所提到的Pukku。 ..
发布时间:2015-11-30 13:25:37 C/C++

在次线性时间的第n个斐波纳契数

有没有什么算法来计算子线性时间的第n个斐波纳契数? 解决方案 在 N 个斐波那契数由给出 F(N)=地板(PHI ^ N /开方(5)+ 1/2) 其中 披=(1 +开方(5))/ 2 假设基本数学运算( + , - , * 和 / )的 O(1)您可以用这个结果来计算 N 日在 O(log n)的时间( O(log n)的因为式中的求幂的)。 在C#: 静态双 ..
发布时间:2015-11-30 13:14:36 C/C++