需要有关编程挑战求​​解算法的帮助

时间:2014-01-20 07:13:49

标签: algorithm

我想提高我的编程技巧,当我参加一些编程竞赛时,我觉得每一项挑战都是如此艰难,以至于我无法解决它,我对编码有很好的了解,但我决定解决特定的算法需要这个问题可以告诉我哪些书要读

2 个答案:

答案 0 :(得分:0)

Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest的

Introduction to Algorithms,Clifford Stein是一个很好的开始。 涵盖几乎所有内容,从图论到几何算法和所有相关数据结构,此外,他们使用常用的“大O”符号来表示所解释算法的效率。大多数情况下,针对同一问题提出了多种算法,以及它们的优缺点。

答案 1 :(得分:0)

我建议您首先熟悉您选择的编程语言。一旦您对自己的语言和数据结构充满信心,就可以自信地应对任何编程挑战。养成编写完整代码的习惯,所有边缘案例都在一张纸上处理,而不是简单的伪代码用于练习。

现在首先解决算法问题,通过书籍或在线资源掌握基本算法的功能。如果您正在使用coreman(算法的好书),那么您可能想要了解不同排序技术的基本概念,堆,队列,散列,贪婪和动态算法。对于某些主题,我建议在线研究 - 如动态编程和散列。几乎70-80%的面试问题是散列或基于DP。然后查找这些算法的主要示例及其解决方案。一旦你的思想设置完毕,你就可以快速思考任何算法问题。