【问题标题】:Fundamentals and maths required for algorithms算法所需的基础知识和数学
【发布时间】:2011-04-27 07:47:32
【问题描述】:

我从事 RTOS 和 Linux 驱动程序开发已经有一段时间了。现在我正在半导体公司面试,但未能回答有关字符串算法以及时间和空间复杂性的问题。因为我有电子背景,所以我没有学过离散数学和算法。

我该如何克服这个差距?

【问题讨论】:

标签: algorithm string asymptotic-complexity


【解决方案1】:

您需要复习数据结构和算法课程的大部分课程材料。为了回答这些类型的面试问题,您通常不需要离散数学中涵盖的材料。

如果您想深入了解(并真正理解该主题),我建议您实际阅读课程材料并听讲座。由于加州大学伯克利分校在网上发布了他们的一些讲座,您可以在这里观看这样的课程(有一位优秀的讲师):

http://webcast.berkeley.edu/course_details.php?seriesid=1906978343

特别注意大 O 表示法的讲座,以及排序和搜索算法。这些往往是人们在面试时询问的内容。

如果你懒得花 30 个小时来观看讲座和更多时间解决问题,你至少应该查阅课程使用的书:

Goodrich and Tamassia's Data Structures and Algorithms in Java

【讨论】:

    【解决方案2】:

    我建议您介绍算法(CLRS)和算法和复杂性算法设计手册(steven skienna),以了解算法和复杂性。除此之外,还有很多关于算法和复杂性的好教程coder(网站:topcoder.com/tc),你也可以去看看。

    【讨论】:

      【解决方案3】:

      从简单的开始,例如:Algorithms in a Nutshell(面试问题的良好起点)

      Algorithms For Interviews 当你觉得你知道上面的书时,你可以考虑深入了解算法。

      【讨论】:

      • 面试算法不是开始使用算法和复杂性的好方法。它是为那些在这个材料上上过几次讲座的人写的,解决了这些问题,然后很快就忘记了。
      • 作为“面试算法”的作者之一,我同意 Paul 的观点,即本书不能替代教科书。但我也部分不同意。 jammulak 已经从事过复杂的软件项目,AFI 可能是一种有趣的方式,可以让他自学这些材料并快速准备面试。当然,当他陷入困境时,他可能需要一种方法在网上或教科书中查找内容。
      【解决方案4】:

      Introduction to Algorithms 是一本很棒的算法书(也恰好在伟大的influential book question 中排名第六)

      【讨论】:

        猜你喜欢
        • 2010-12-08
        • 2010-12-10
        • 1970-01-01
        • 2011-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-26
        • 1970-01-01
        相关资源
        最近更新 更多