algorithm相关内容

即时搜索算法

什么类型的算法,将工作的最快的搜索一些什么正在搜索的?我知道这是已经非常接近,询问谷歌如何,即时搜索的工作原理,但我不是算法专家,我已经成为他们越来越有兴趣。做这样的搜索使用后缀树或类似的东西?我想我的查询字符串一点,而不是大量抓取数据的谷歌的方式做只是有兴趣。 感谢很多的任何输入! 解决方案 对于那些类型的查询,你可以将数据存储在一个的特里或者说是一种特里树。 ..
发布时间:2015-11-30 21:16:25 C/C++

算法 - 排列组合

一个HWK问题,显然也是一个常见的​​面试问题,我遇到麻烦: “写一个算法(伪code)在打印出的一组n个元素的三要素全部子集。本集的元素存储在一个列表,是输入到算法。“ 因此​​,举例来说,如果S = {1,2,3,4}算法将打印出这四种组合: 123 124 134 234 任何人都可以提供他们的想法/解决方案? 解决方案 递归: 高清集(preFIX,列表,算): 如果 ..
发布时间:2015-11-30 21:16:22 C/C++

算法计算XOR

我要计算从0数字的异或至(n)^ {1/2} - 1与每个从0号到(n)^ {1/2} - 1。 我想这样做在O(n)的时间和不能使用的XOR,OR和操作。 如果我知道X和Y的XOR,我可以计算出X + 1 XOR和Y在固定时间? 正如一些人指出,XOR可以使用AND和不计算在固定的时间。 我要如何进行,做同样的? 如何计算和数字从0至(n)^ {1/2} - 1与每个从0号到(n)^ {1/ ..
发布时间:2015-11-30 21:16:20 C/C++

从堆删除第i个节点

我知道,从堆删除一个节点是 O(log n)的的occures的根源。而且我也知道,删除在堆树问题之一堆任意节点,是 O(N)。 有没有什么算法,减少了删除的第I 的节点从maxheap到 0的运行时间(log n)的其中的 I 的范围是从1到N? 解决方案 这堆删除一个任意节点的昂贵的部分不处于删除,但在发现删除的节点。其实删除节点是O(log n)的。但首先你要做的底层数据存储的顺序扫描, ..
发布时间:2015-11-30 21:16:18 C/C++

有效地找到一个随机序列的中值

数字是随机生成的,并传递给方法。写一个程序用来发现和维持中位值产生新的价值。 堆的大小可以等于或以下堆中有一个额外的。 私人比较<整数GT; maxHeapComparator,minHeapComparator; 私人的PriorityQueue<整数GT; maxHeap,minHeap; 公共无效addNewNumber(INT randomNumber){ 如果(ma ..
发布时间:2015-11-30 21:16:13 Java开发

编码字符串,以小尺寸QR code代

我使用的,可以很容易的长度越长则QR code可以处理字符串生成QR codeS。我在寻找对算法的建议,EN code这些字符串尽可能小,或者证明该字符串不能收缩任何进一步的。 由于我编码一系列项目,我可以重新present他们使用的ID和划定它们使用管道作为在以下查找表: 功能连接codeLookUp(人物){ 开关(人物){ 情况下“0”:回归“00 ..
发布时间:2015-11-30 21:16:10 前端开发

与边缘的指定数量的最短路径

即时寻找一种算法,发现在包含边缘的指定数n的曲线图的两个顶点(i和j)之间的最短路径。我有一个动态的方案,着眼于最短路径与n-1个边缘目标,但我怎么能肯定是被发现的最短路径开始于我? 解决方案 我猜边有不同的成本/长度和约束是有n条边,和所有路径中从i到j有n个个体边缘,该目标是找到一个具有至少总成本/长度 如果你做到这一点使用动态编程,复发是 SPATH(F,T,N):---返回从'F ..
发布时间:2015-11-30 21:16:08 C/C++

相比同等长度的字符串,并指出其中发生分歧

给定两个串等长的,使得 S1 =“ACCT” S2 =“ATCT” 我想找出有串不同的位置。所以,我已经做到了这一点。 (请建议做一个更好的方式。我敢打赌,应该有) Z = seq1.chars.zip(seq2.chars).each_with_index.map {|(S1,S2),指数|指数+ 1如果s1!= S2} .compact z是位置,其中两个字符串不同的 ..
发布时间:2015-11-30 21:16:06 C/C++

用C查找第3点在一条线上++

我的工作在C ++应用程序。而其新的给我。在这里,我写这收获线两个坐标功能。我必须处理这些坐标,找到另一点这在同一条线上。 我将获得 A(X1,Y1)和B(x2,y2)坐标。 需要找到 C(X3,Y3)坐标。 因此,我计算给定直线的斜率。 双坡=(X1-X2)/(Y1-Y2); 我知道3点从A点的距离。 双DIS = SQRT(PO​​W(X2-X1)+ POW(Y2,Y1))* 1.35; ..
发布时间:2015-11-30 21:16:03 C/C++开发

转换号码的字母的组合

我需要1到600万之间的转换一些像ABCDE一个字母组合。 少信为好。但我猜我将需要4或5。 有人能指出我朝着正确的方向如何写一个算法,数字转换成字母和回来?只有A-Z。 (上限)。 解决方案 您需要转换为基础-26编号:0是A,1 B,25为Z,26是BA等 借助 Hexavigesimal维基百科的文章有code转换为基础26。 ..
发布时间:2015-11-30 21:16:01 C#/.NET

最低公共祖先的实现 - 有什么区别?

我一直在阅读有关最低顶部codeR 的共同祖先算法,我不明白为什么RMQ算法是参与 - 该解决方案列在那里是出奇的复杂,并具有以下属性: 在搜索时的O(开方(N))的时间复杂度,为O(n)precalculation时间复杂度 O(n)的空间复杂度,用于存储父母每个节点的 O(n)的空间复杂度再次,用于存储每个节点的precalculations 我的解决办法:给定的两个整数值,发现通过一个简 ..
发布时间:2015-11-30 21:15:58 C/C++

海明系列的代

我一直在试图解决规划问题,其中要求我产生海明序列的模块之一。所述函数接受输入两个数字第一二进制数N和另一十进制数K.现在应该产生具有高达选自N K A Hamming距离的所有可能的数字。 如果你给我提供了关于如何解决这一问题的算法,这将是非常有益的。 在此先感谢。 解决方案 该算法是pretty的简单。你只需要选择所有可能的二进制数包含从0至K的。 ,然后用正异或,只是这样的: 公共静 ..
发布时间:2015-11-30 21:15:53 C/C++

LCS算法(例如)

有一个动态规划算法找到两个序列的最长公共子。我如何才能找到两个序列X和Y的LCS算法(正确性测试) (一)X = ABEDFEESTYH Y = ABEDFEESTYHABCDF (二)X = BFAAAABBBBBJPRSTY Y = ABCDEFGHIJKLMNOPRS (三)X =φ(空序列),Y = BABADCAB 解决方案 下面是一个在线计算器 http://ig ..
发布时间:2015-11-30 21:15:50 C/C++

动态范围搜索

可能重复: 鉴于这是不重叠的和排序(rangeList)号码范围的列表,和一个号码,编写一个有效的算法首先找到(部分范围中)rangeList是否存在此数目,如果它存在,返回正确的范围内。 例如rangeList = [( - 1,200),(300,2000),(2011,2300)] 查询1:1000 - >(真,(300,2000))自1000位于300和2000之间。。 问题2 ..
发布时间:2015-11-30 21:15:48 C/C++

印刷(未检测)周期拓扑排序

这是一个数据结构与算法分析第三版这还要求我们考试的一个问题。 写下一个算法,拓扑排序邻接表psented图再$ P $,修改 这样,该算法打印出一个周期,如果它被找到。首先,解释了一些自己的想法 句子。 (请勿使用深度优先搜索,我们希望的基本拓扑的只是修改 排序。) 答案是: 如果没有顶点有入度为0,我们可以通过顶点跟踪向后找到一个循环 正入度;由于在追溯每个顶点具有积极的入度,我们最终 达到顶 ..
发布时间:2015-11-30 21:15:45 C/C++

如何找到8个元素进行排序,并证明有没有更好的办法(没有更有效的方法)的最佳方法是什么?

可能重复: 最快的排序固定长度的6 int数组的 的任务是找到一种方法,8随机数比较(不操作)的最少数量进行排序。我想到的是我必须使用的qsort(减半分阵列,排序,然后合并等..它必须是快速排序,我认为)。对于8种元素的比较次数是17,和我有证明有没有办法进行排序随机阵列16(N减1)的比较。 感谢 无论如何..所以一定是最糟糕的还..我在第一年的学习,所以我不认为我们必须做一些平凡的( ..
发布时间:2015-11-30 21:15:43 C/C++

什么是O(n)的算法配对两个同样lengthed列表,以到位?

假如我有在Python两条等长的无序列表: A = [5,2,3,1,4] B = ['D','B','A','C','E'] 是否有一个O(N),原地算法,得到如下结果? [(1,'A'),(2,'B'),(3,'C'),(4,'D'),(5,'E ')] 小于或等于N. 解决方案 是的,有一种方法可以得到O(N)排序时正整数 做到这一点的方法是使用桶。 下面是一个实现: ..
发布时间:2015-11-30 21:15:41 Python

的一个号码的数字的置换

考虑数194声明为类型 INT 是否有可能得到它的数字的排列像其他有效的整数? 编号:194 419 INT 491 INT 914 INT 941 INT 我现在用的是next_permutation但它仅适用于数组。所以,我认为这将是不明智的INT转换为int数组(?!),然后得到排列为一个数组,并将其转换到它。 有什么建议? 解决方案 置换的数字基本上是一个字符串操作, ..
发布时间:2015-11-30 21:15:38 C/C++开发

如何找到一些素数?

我需要找到一定数量的素数。我有一个工作的算法,这需要一些限制作为参数 - 它发现小于限值的所有素数。 例如 - 对于参数 20 它会返回 2,3,5,7,11,13,17,19 ,但我需要输入 5 并获得 2,3,5,7,11 。什么是最好的方法是什么?我使用埃拉托色尼的筛子,也没有办法限制的数量,删除的部分,因为我不知道有多大的第195素数是和因此,我不知道我是否应该删除的2倍数达1568或1 ..
发布时间:2015-11-30 21:15:36 C/C++