Tag: algorithm

编写一个程序,从10亿个数字中找出100个最大的数字

我最近参加了一个采访,在那里我被要求“写一个程序,从10亿个数字中找出100个最大的数字”。 我只能给出一个暴力解决scheme,它是在O(nlogn)时间复杂度sorting数组,并采取最后100个数字。 Arrays.sort(array); 面试官正在寻找一个更好的时间复杂性,我试了一些其他的解决scheme,但没有回答他。 有更好的时间复杂性解决scheme吗?

在iTunes 11中为歌曲列表着色的algorithm如何工作?

新的iTunes 11有一个相册的歌曲列表很好的观点,select专辑封面function的字体和背景的颜色。 任何人都知道algorithm是如何工作的?

在有向图中检测周期的最佳algorithm

在有向图中检测所有周期的最有效的algorithm是什么? 我有一个有向图,表示需要执行的作业的时间表,作业是一个节点,依赖关系是一个边。 我需要检测这个图中循环的错误情况,导致循环依赖。

什么是计算机科学的NP完整?

什么是NP完全问题? 为什么这是计算机科学中的一个重要话题?

如何replacestring中的所有字符?

用std::string另一个字符replace所有出现的字符的有效方法是什么?

如何检测链表中的循环?

假设你有一个Java链接列表结构。 它由节点组成: class Node { Node next; // some user data } 每个节点指向下一个节点,除了最后一个节点,下一个节点为空。 说有可能列表可以包含一个循环 – 即最后一个节点,而不是一个空,有一个参考列表中的其中一个节点之前。 什么是最好的写作方式 boolean hasLoop(Node first) 如果给定的节点是带有循环的列表中的第一个,则返回true否则返回false ? 你怎么写,以便它需要一个恒定的空间和合理的时间? 下面是一个循环列表的图片:

生成和区分algorithm有什么区别?

请帮助我理解生成式algorithm和区分algorithm之间的区别,牢记我只是一个初学者。

如何从字母matrix中find可能的单词列表

最近我一直在我的iPhone上玩游戏,叫做Scramble。 你们中的一些人可能会把这个游戏理解为Boggle。 从本质上讲,当游戏开始时,你得到一个像这样的字母matrix: FXIE AMLO EWBX ASTU 游戏的目标是find尽可能多的单词链接在一起形成的单词。 你可以从任何字母开始,围绕它的所有字母都是公平的游戏,然后一旦你移动到下一个字母,围绕这个字母的所有字母都是公平的游戏, 除了以前使用的任何字母 。 所以,在上面的网格中,例如,我可以想出LOB , TUX , SEA , FAME等词。单词必须至less有3个字符,并且不超过NxN个字符,在这个游戏中可以是16个,但是可以在一些实现中有所不同 虽然这个游戏很有趣,而且让人上瘾,但是我显然不是很擅长这个游戏,我想通过制作一个能够给我最好的单词(这个单词越长得分越多)的程序来作弊。 示例Boggle http://www.boggled.org/sample.gif 不幸的是,我不擅长algorithm或其效率等等。 我第一次尝试使用这样一个字典(〜2.3MB),并进行线性search,试图将组合与字典条目进行匹配。 这需要很长时间才能find可能的单词,而且由于每轮只能得到2分钟,所以根本不够。 我很感兴趣,看看是否有任何Stackoverflowers可以拿出更有效的解决scheme。 我主要是在寻找使用Big 3 Ps的解决scheme:Python,PHP和Perl,尽pipeJava或C ++也是很酷的,因为速度是必不可less的。 当前解决scheme : Python的Adam Rosenfield,大约20多岁 约翰·福伊(John Fouhy),Python,〜3s Kent Fredric,Perl,〜1s 大stream士培根,Python,〜1s rvarcher,VB.NET (live link) ,〜1s Paolo Bergantino,PHP (live link) ,〜5s(本地〜2s) BOUNTY : 我为这个问题增添了一笔赏金,这是我向所有参与其中的人们表示感谢的方式。 不幸的是,我只能给你们中的一个人接受答案,所以我将从现在起7天内衡量谁是最快的求助者,并奖励获奖者。 赏金赏赐。 感谢所有参与的人。

朴素贝叶斯分类的简单解释

我发现很难理解朴素贝叶斯的过程,我想知道如果有人能用简单的一步一步的过程用英语解释它。 我知道需要把时间作为概率进行比较,但我不知道训练数据是如何与实际数据集相关的。 请给我一个关于训练集扮演的angular色的解释。 我在这里给出一个非常简单的例子,比如香蕉 training set— round-red round-orange oblong-yellow round-red dataset—- round-red round-orange round-red round-orange oblong-yellow round-red round-orange oblong-yellow oblong-yellow round-red

在1 MB RAM中对100万个8位数字进行sorting

我有一个1 MB的RAM的计算机,没有其他本地存储。 我必须用它通过TCP连接接受一百万个8位十进制数,对它们进行sorting,然后通过另一个TCP连接发送sorting列表。 数字列表可能包含重复,我不能放弃。 代码将被放置在ROM中,所以我不需要从1 MB中减去我的代码的大小。 我已经有了驱动以太网端口和处理TCP / IP连接的代码,其状态数据需要2 KB,包括一个1 KB的缓冲区,通过这个缓冲区,代码将读取和写入数据。 有没有解决这个问题? 问题和答案的来源: slashdot.org cleaton.net