我记得当我在DSA的时候,我就像wtf (N),想知道除了在研究生院或者如果你不是像布洛赫那样的PhD,我会在哪里使用它。在业务分析中,不知如何使用它确实会弹出,所以我想知道你们什么时候必须调用Big 技能来查看如何编写算法,您使用了哪种数据结构来适应,或者您是否必须实际创建一个新的ds (比如您自己实现的显示树或trie)。
发布于 2009-10-05 17:56:16
老实说,能够回答这些问题是我在面试中认真对待受访者的最大标准。了解基本数据结构的工作原理、基本O(n)分析和一些光理论对于成功地编写大型应用程序是非常重要的。
它在面试中很重要,因为它在工作中很重要。过去,我曾与那些自学成才的技术人员合作过,没有上过数据结构课程,也没有读过一本数据结构书,他们的代码有时在他们应该看到的方面是糟糕的。
如果您不知道与n log n相比,n2将缓慢运行,那么您还需要学习更多。
至于数据结构课程的后半部分,它一般不适用于大多数技术工作,但如果你最终需要它,你会希望你更多的关注。
发布于 2009-10-05 17:53:29
对数据结构的理解是我参与过的许多项目的基础,在面试中被问到这样一个问题时,这不仅仅是一首10分钟的舞蹈歌曲。
当然,具有各种集合类的现代环境可以轻松地存储和访问大量数据,但是理解使用特定数据结构最好地解决特定问题可能是一个很好的时间保护程序。所谓“时间保护”,我指的是“工作和不工作之间的区别”。
发布于 2009-10-05 17:58:21
大O表示法是描述特定库实现的算法时使用的基本符号之一。例如,我看到的关于STL的所有文档都以大-O的形式描述了各种操作,因此很自然,您必须理解O(1)、O(log n)和O(n)之间的区别,才能理解您选择STL容器和算法的含义。MSDN也对.NET类这样做,IIRC文档也为标准Java类这样做。因此,我要说的是,了解这个符号对于理解最流行的框架文档来说是非常必要的。
https://stackoverflow.com/questions/1521444
复制相似问题