Questions tagged «algorithm»

算法是定义明确的问题解决方案的一系列明确定义的步骤。当您的问题与算法设计有关时,请使用此标签。



5
2 ^ n和n * 2 ^ n是否具有相同的时间复杂度?
我发现的有关时间复杂度的资源尚不清楚何时可以忽略时间复杂度方程式中的术语,尤其是对于非多项式示例。 对我来说很明显,给定形式为n 2 + n + 1的东西,后两项是无关紧要的。 具体来说,给定两个分类2 n和n *(2 n),第二个的顺序与第一个相同吗?那里的附加n乘数有关系吗?通常,资源只是说x n呈指数形式并且增长得更快...然后继续前进。 我能理解为什么2 n不会超过n,但是为什么不将它们加在一起,所以在比较这两个方程时就显得尤为重要,事实上,它们之间的差总是n的因数,至少可以说这很重要。


26
有没有比Bogosort(aka Monkey Sort)更糟糕的排序算法?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我的同事带我回到了大学时代,今天早上讨论了排序算法。我们回想起了我们最喜欢的StupidSort,例如其中之一,我们确定我们看到了一种排序算法,该算法是O(n!)。那使我开始寻找可以找到的“最差”的排序算法。 我们假设,一个完全随机排序将是非常糟糕的(即随机化的元素- ?是为了不随机化再次),我环顾四周,发现了它显然称BOGO排序,或猴排序,或者有时只是随机排序。 Monkey Sort似乎具有的最差情况性能O(∞),的最佳情况性能O(n)和平均性能O(n·n!)。 目前平均可接受的排序性能最差的排序算法是什么(并且蜂声比差O(n·n!))?
178 algorithm  sorting  big-o 

27
计算给定数除数的算法
计算给定数除数的最佳算法(性能方面)是什么? 如果您可以提供伪代码或一些示例的链接,那就太好了。 编辑:所有的答案都非常有帮助,谢谢。我正在实现Atkin筛分法,然后将使用类似于Jonathan Leffler所指出的方法。贾斯汀·博佐尼尔(Justin Bozonier)发布的链接提供了有关我想要的更多信息。


30
O(nlogn)算法-在二进制字符串中找到三个均匀间隔的算法
昨天我在算法测试中遇到了这个问题,但找不到答案。这绝对让我发疯,因为它价值40分。我认为大多数班级都无法正确解决该问题,因为在过去的24小时内我没有提出解决方案。 给定任意一个长度为n的二进制字符串,请在该字符串中找到三个均等的字符串(如果存在)。编写一个算法,可以在O(n * log(n))时间内解决此问题。 因此,这样的字符串具有三个“等间距”的字符串:11100000,0100100100 编辑:这是一个随机数,因此它应该可以处理任何数字。我提供的示例旨在说明“均匀分布”的属性。因此1001011是有效数字。其中1、4和7是等距排列的。
173 algorithm  big-o 


3
HyperLogLog算法如何工作?
我最近在业余时间一直在学习不同的算法,我遇到的一个看起来很有趣的算法叫做HyperLogLog算法-该算法估计列表中有多少个唯一项。 这对我特别有趣,因为当我看到“基数”值(直到最近,我一直认为直到最近才算出它不是估计值)时,它才使我回到MySQL时代。 因此,我知道如何在O(n)中编写一种算法,该算法将计算数组中有多少个唯一项。我是用JavaScript编写的: function countUniqueAlgo1(arr) { var Table = {}; var numUnique = 0; var numDataPoints = arr.length; for (var j = 0; j < numDataPoints; j++) { var val = arr[j]; if (Table[val] != null) { continue; } Table[val] = 1; numUnique++; } return numUnique; } 但是问题是我的算法虽然为O(n),却占用了大量内存(将值存储在中Table)。 我一直在阅读本文有关如何在重复计数在列表Ø(ñ)的时间和使用的内存。 它解释说,通过对位进行散列和计数或可以在一定概率(假设列表均匀分布)中估计的某种事物中列表中唯一项的数量。 …

14
这是“足够好”的随机算法吗?如果速度更快,为什么不使用它呢?
我做了一个叫的类QuickRandom,它的工作是快速产生随机数。这很简单:只取旧值,乘以a double,然后取小数部分。 这是我QuickRandom的全部课程: public class QuickRandom { private double prevNum; private double magicNumber; public QuickRandom(double seed1, double seed2) { if (seed1 >= 1 || seed1 < 0) throw new IllegalArgumentException("Seed 1 must be >= 0 and < 1, not " + seed1); prevNum = seed1; if (seed2 <= 1 || …


19
如何比较两种颜色的相似度/差异
我想设计一个程序,可以帮助我评估5种预定义颜色之间的哪种颜色更类似于可变颜色,以及以什么百分比进行评估。问题是我不知道如何一步一步地手动进行操作。因此,想一个程序就更加困难了。 更多详细信息:颜色来自带有不同颜色的凝胶管的照片。我有5个颜色不同的试管,每个试管代表5个级别中的1个。我想拍摄其他样本的照片,然后在计算机上通过比较颜色来评估该样本属于哪个级别,我也想知道它的近似百分比。我想要一个执行以下操作的程序:http : //www.colortools.net/color_matcher.html 如果您可以告诉我要采取什么步骤,即使这些是我自己要手动思考和执行的事情。这将非常有帮助。
171 algorithm  colors  compare  rgb  hsv 

5
什么时候使用每种分类算法?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 去年关闭。 改善这个问题 当使用特定的排序算法而不是其他排序算法时,有哪些用例?合并排序,快速排序,堆排序与“引入排序”等? 是否有根据大小,数据结构类型,可用内存和缓存以及CPU性能使用它们的推荐指南?
170 algorithm  sorting 

21
棘手的Google面试问题
我的一个朋友正在面试工作。采访中的一个问题让我思考,只想要一些反馈。 有2个非负整数:i和j。给定以下方程式,找到一种(最佳)解决方案以对i和j进行迭代,以对输出进行排序。 2^i * 5^j 因此,前几轮如下所示: 2^0 * 5^0 = 1 2^1 * 5^0 = 2 2^2 * 5^0 = 4 2^0 * 5^1 = 5 2^3 * 5^0 = 8 2^1 * 5^1 = 10 2^4 * 5^0 = 16 2^2 * 5^1 = 20 2^0 * 5^2 = …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.