Questions tagged «algorithms»

在数学和计算机科学中,算法是一种有效方法,表示为用于计算函数的定义明确的指令的有限列表。算法用于计算,数据处理和自动推理。

4
如何从句子中提取单词并确定每个词是什么?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以当前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 6年前关闭。 我想写一些东西,用一个句子,识别其中包含的每个单词,并定义每个单词的词性。 例如 世界您好,我是一个句子 会返回这个 verb noun, pronoun verb adjective noun 理想情况下,我希望最终将其进一步发展并采用一个句子,并以编程方式让它理解它试图解释的内容并可能对此进行处理。 所以我的问题是,有人听说过这样的事情吗?

3
Java和.NET:为什么默认情况下使用不同的排序算法?
只是想知道为什么,Java并且.NET Framework默认情况下使用不同的排序算法。 在Java中 ,默认情况下Array.Sort()使用合并排序算法,如Wikipedia.com所述: 在Java中,Arrays.sort()方法根据数据类型使用合并排序或调整后的快速排序,当排序少于七个数组元素时,为了实现转换为插入排序的实现效率 在.NET Framework中, Array.Sort/List.Sort()使用“ 快速排序”作为默认排序算法(MSDN): List.Sort()使用Array.Sort,后者使用QuickSort算法。此实现执行不稳定的排序;也就是说,如果两个元素相等,则可能不会保留其顺序。相反,稳定排序保留了元素相等的顺序。 通过查看出色的“算法比较”表,我们可以发现两种算法在最坏情况和内存使用情况方面的行为都大不相同: 这两个Java和.NET是企业解决方案发展的巨大框架,既有嵌入式开发平台。那么为什么他们默认使用不同的排序算法,有什么想法呢?

17
编程需要了解哪些良好的数学公式?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 您学到了哪些通用数学公式,这些公式可以帮助您编写更好的算法并成为更好的程序员? 示例:我了解了ecludian距离公式:sqrt((x1-x2)^2+(y1-y2)^2)通过比较两个因素,它帮助我了解了如何找到相似的物体。

4
为什么大多数语言都提供最小堆而不是最大堆实现?
我只是注意到了什么,我想知道是否有任何原因。除了C ++(std :: priority_queue是最大堆)之外,我不知道其他提供最大堆的语言。 Python的heapq模块在列表顶部实现了一个二进制min-heap。 Java的库包含一个PriorityQueue类,该类实现了一个最小优先级队列。 Go的库包含一个container / heap模块,该模块在任何兼容的数据结构之上实现了min-heap。 苹果公司的Core Foundation框架包含一个CFBinaryHeap结构,该结构实现了最小堆。 我发现最大堆比最小堆更直观,而且从技术上讲,我认为实现差异只是更改比较运算符的问题。有什么真正的原因吗?大多数应用程序需要最小而不是最大堆吗?提前致谢


5
率先复制新算法的优势?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 假设我创建了一个新的(DSP)算法。如果我在copyleft许可证(GPL等)下开源算法,是否会有一些优势?从我对许可的了解中,这应该使人们避免使用与封闭源完全相同的代码,但是他们能够将算法“重写”为封闭源吗? 注意:我真的不知道该算法是否是新算法,但尚未作为开源发布。因为我来自欧盟,所以如果我想版权所有,我需要寻找软件专利吗?

1
我应该使用哪种算法来创建自动人员调度功能?
想象一下一个有几十个兼职员工的小型本地企业(在我的情况下是狗托儿所)。目标是自动创建每周员工计划。我的问题是针对该问题探索哪种算法方法。 需要牢记许多限制,主要是(1)人员配备和(2)每个班次的需求,不仅是每个班次需要多少员工,而且每个班次需要的技能(例如某个班次,您可能需要一个知道如何开车去接送狗的人,或者另一个需要知道如何给狗洗澡的人等等。 其他限制包括诸如避免或要求某些员工连任的事情-一方面可能是由于人格冲突,或者另一方面是由于渗透需要从高级到初级员工进行培训。 另外,还有一些偏好要考虑在内。有些工作人员更喜欢连续两天早上而不是星期一和星期四,等等。我们知道我们不能总是适应每个人的喜好。实际上,我们有一个层次结构,即员工在选择时会优先考虑。 我很想知道有一种方法可以将这个问题减少或表达为现有的,已经解决的算法。但是我不知道该探索哪种算法。哪种现有的特定算法最有前途?
18 algorithms 

2
这是什么类型的问题,解决这个问题我需要知道什么数学?
蘑菇栽培需要相当精确的底物(又名生长培养基)的化学成分。让我们假装我们正在种植香菇,这是其基材的必需成分: Nitrogen | Benzene | Toluene | Dioxygen Diflouride 5% | 5% | 10% | 80% 我们想用我们知道的化学成分的现有材料创建合适的基材。 Material | Nitrogen | Benzene | Toluene | Dioxygen Diflouride apples | 5% | 0% | 5% | 90% oranges | 20% | 20% | 50% | 10% Etc... 如何计算呢?它使我想起了在高中求解矩阵的过程。这是矩阵可以完成的事情吗?这个问题叫什么?我需要知道什么来解决它?

2
Strassen是如何提出他的矩阵乘法方法的?
著名的Strassen矩阵乘法算法对我们来说是一种真正的享受,因为它将时间复杂度从传统的O(n 3)降低到O(n 2.8)。 但是在我所经历的所有资源中,甚至是Cormen和Steven Skienna的书中,他们显然都没有提到Strassen是如何考虑的。 Strassen矩阵乘法算法的基本原理是什么?这是一次幸运的事故还是其中更深层次的事情?

6
数字线上的访问点,同时将与距离无关的成本最小化
我需要有关此ACM ICPC问题的帮助。我目前的想法是将此模型建模为最短路径问题,在问题说明中对此进行了描述。 问题 除了以外,N = 1000沿一维数字线位于不同位置的有核废料容器。一个人的任务是收集所有垃圾箱。垃圾容器每秒钟收集一次,就会发出1单位的辐射。人开始时可以每秒移动一次,收集废物所花费的时间可以忽略不计。我们希望找到收集所有容器时释放的最小辐射量。-500,000 to 500,000x=0x = 01 输入样例: 4位于的集装箱[-12, -2, 3, 7]。 收集这些容器的最佳顺序是[-2, 3, 7, -12],以减少50单位散发。说明:该人-2在2秒钟内进入,在此期间2 units辐射被发射。然后,他到达3(距离:),5以便枪管释放2 + 5 = 7出辐射单位。他需要4更多的时间才能到达x = 7那个发射桶的地方2 + 5 + 4 = 11。他花了19几秒钟到达x = -12那个桶发射2 + 5 + 4 + 19 = 30单位的地方。2 + 7 + 11 + 30 = 50,这就是答案。 …
18 algorithms  graph 

6
什么时候比解决特定情况更偏爱通用解决方案
在编程中,我们经常面临选择:单独覆盖每个可能的用例,或解决一般问题: 很明显,解决当前问题的速度更快,但是创建一个通用的解决方案将在将来节省时间。 我怎么知道什么时候最好尝试覆盖一个有限的案例列表,或者建立一个通用的系统来覆盖所有可能性?

5
P = NP的影响是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 7年前关闭。 我正在准备测试,但找不到以下问题的明确答案:证明PTIME = NPTIME有什么影响。我检查了维基百科,它刚刚提到它将“对数学,人工智能,算法等产生深远影响”等。 有人可以给我答案吗?

6
TDD和完整的测试范围,需要指数测试用例
我正在研究一个列表比较器,以帮助根据客户的非常特定的要求对搜索结果的无序列表进行排序。需求要求使用重要性规则按以下规则排序相关性算法: 姓名完全匹配 搜索词中所有单词的名称或结果的同义词 搜索查询中某些单词的名称或结果的同义词(%降序) 说明中搜索查询的所有单词 说明中搜索查询的某些单词(降序排列) 最后修改日期降序 该比较器的自然设计选择似乎是基于2的幂的得分排名。次要重要规则的总和永远不会与重要性较高的规则的正比匹配大。这可以通过以下得分来实现: 32 16 8(基于决断百分比下降的次决胜局得分) 4 2(基于降低百分比的次决胜局得分) 1个 本着TDD的精神,我决定首先进行单元测试。对于每个唯一方案都有一个测试用例,至少要有63个唯一测试用例,而不考虑规则3和5上的辅助抢断逻辑的其他测试用例。这似乎太过分了。 实际的测试实际上会更少。根据实际规则本身,某些规则可确保较低的规则将始终为真(例如,当“所有搜索查询词都出现在说明中”时,规则“某些搜索查询词会出现在说明中”将始终为真)。写下每个测试用例的努力水平仍然值得吗?在谈论TDD中100%的测试覆盖率时,这通常是要求的测试级别吗?如果不是,那么什么是可接受的替代测试策略?

5
不知道总数的百分比算法
假设有n热线电话。 每当客户致电热线时,该呼叫就会被转接到其中一条n线路。我想将呼叫百分比分配给n行中的每行。假设有两条线路,一条线路分配了60%,另一条线路分配了40%,呼叫总数为10,因此第一行将收到6个呼叫,第二行将收到4个呼叫。 我知道提前拨打每条线路的百分比,但是问题是我不知道一天会收到多少次电话。 如何在不知道总呼叫数的情况下分配呼叫数?

4
我可以使用什么算法来检测文章或帖子是否重复?
我正在尝试检测文章或论坛帖子是否是数据库中的重复条目。我已经考虑了一下,得出的结论是,重复内容的人将使用以下三种方法之一(以下降的方式很难检测): 简单复制粘贴整个文本 复制和粘贴与自己合并的部分文本 从外部站点复制文章并假扮自己 准备分析文本 基本上任何异常;目的是使文本尽可能“纯净”。为了获得更准确的结果,通过以下方式对文本进行“标准化”: 去除重复的空白并修剪前导和尾随。 换行符被标准化为\ n。 HTML标签被删除。 使用称为Reging Fireball的RegEx,URL被剥离。 我在应用程序中使用BB代码,然后转到。 (ä)有香味的和外来的(英式除外)均转换为非外来形式。 我将有关每篇文章的信息存储在(1)统计信息表和(2)关键字表中。 (1)统计信息表 以下是关于文本内容的统计信息(非常类似于此帖子) 文字长度 信数 字数 句子数 每句话平均字数 自动可读性指数 枪杀雾分数 对于欧洲语言,应使用Coleman-Liau和自动可读索引,因为它们不使用音节计数,因此应产生合理准确的分数。 (2)关键词表 通过排除大量停用词(常用词)(例如“ the”,“ a”,“ of”,“ to”等)来生成关键字。 样本数据 text_length,3963年 letter_count,3052 word_count,684 句子数,33 word_per_sentence,21岁 gunning_fog,11.5 auto_read_index,9.9 关键字1,已杀死 关键字2,人员 关键字3,警察 应该注意的是,文章更新后,以上所有统计信息都将重新生成,并且可能是完全不同的值。 如何使用以上信息来检测数据库中是否已存在首次发布的文章? 我知道我要设计的任何东西都不是完美的,最大的风险是(1)不是重复的内容将被标记为重复(2)系统允许重复的内容通过。 因此,算法应从0(无重复),5(可能为重复)和10(重复)生成风险评估编号。高于5的内容很可能重复。在这种情况下,内容可能会被标记并链接到文章(可能是重复项),并且人员可以决定是删除还是允许。 正如我在存储整篇文章的关键字之前所说的那样,但是我想知道是否可以在段落基础上进行相同的操作。这也意味着进一步在数据库中分离我的数据,但这也将使在我的初始帖子中检测(2)更容易。 我正在考虑统计数据之间的加权平均值,但顺序如何,其结果是什么...
17 algorithms 

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.