人们对数据算法有什么误解?
发布时间:2018-11-06 作者:jason
以下是一些或多或少常见的误解和误解:
数据结构和算法的研究仅适用于编码访谈和竞赛。(事实上,虽然“真实世界”编码有许多不是数据结构和算法的方面,但在非常实际的情况下,对数据结构和算法的深入理解是有用和实用的。)
“NP”表示“非多项式”。(它没有。它的意思是“非确定性多项式时间”。)
NP问题很难。(不,NP问题很容易 .NP中不存在的问题要困难得多。)
对X来说有一个“最佳”算法。(从来没有。在特定情况下,可能存在特定的问题实例,具有明确定义的计算资源。在进行此类问题或断言时,情况绝不会如此。)
量子计算机速度很快,因为它们可以立即检查所有可能的组合,例如并行宇宙或其他东西。(这是算法史上最普遍,最一致,完全错误的误解之一。)
任何递归都是动态编程。(不是。)
任何与缓存递归的东西都是动态编程。(它不是.DP不需要使用任何类型的递归,并且memoization是一种单独的技术,不等同于DP。)
我的问题是NP完全,所以它没有希望。(可能是,但可能没有。这取决于很多事情。)
SAT问题无法解决。(他们肯定可以,并且SAT求解器在非常实际的现实生活中非常有用。)
排序是O (n logn )Ø(ñ日志ñ)。(排序是一项算法任务。任务不是O.Ø任何事情。特定算法的时间复杂度是其输入大小n的函数ñ,我们经常用big-Oh表示法来近似这个函数。)
较短的程序更有效。(性能和代码行数之间的相关性非常非常弱。与表达更智能算法的更多行相比,几行代码可能非常低效,或者只是效率稍低。)
在机器学习中,更简单的模型更好,因为奥卡姆的剃刀。(对于两个等效的模型,这可能是正确的,但是如果更复杂的模型更准确,不要自动将其丢弃以获得更简单和更不准确的替代方案。这有时是正确的选择,但通常不是。)
政府正在竞相建造量子计算机,因为成功的第一个将能够入侵它想要的任何系统。(这实际上是由几个普遍受人尊敬的新闻出版物说明的。这是无稽之谈。)
一旦我们证明了黎曼假设,我们就能够更有效地分解数字,或者更有效地找到素数,或者打破互联网。(不,不,不)
我擅长算法,但不是数据结构。(不,你不是。两者是无情的联系。)