对于自学算法的程序员而言,以下是一些值得阅读的书籍:
1.《算法导论》(IntroductiontoAlgorithms):一本经典的算法书籍,适合初学者入门。它详细介绍了算法设计与分析的基础知识,包括分治法、回溯法、贪心算法、动态规划算法等。
2.《算法竞赛入门经典》(IntroductiontoAlgorithms,2ndEdition):这本书不仅适合初学者,也适合有一定算法基础的读者。它深入讲解了算法竞赛所涉及的基础知识,包括数据结构、算法复杂度分析、竞赛策略等。
3.《算法4》(Algorithms,4thEdition):这是一本非常全面的算法书籍,适合有较高算法水平的读者。它详细介绍了各种算法的思想、实现方式和应用场景,包括贪心算法、分治算法、回溯算法、动态规划算法等。
4.《算法复杂度分析基础》(IntroductiontoComputerScienceandProgrammingLanguages,2ndEdition):这本书详细介绍了算法复杂度分析和优化的基础知识,包括分治法、回溯法、贪心算法、动态规划算法等。它可以帮助程序员更好地理解算法复杂度,并选择适合自己的算法。
5.《编程珠玑》(Recursion,2ndEdition):这本书介绍了算法设计中常用的递归算法和回溯算法,以及如何优化递归算法的时间复杂度。它可以帮助程序员更好地理解递归算法的实现方式和应用场景。
6.《数据结构与算法分析》(DataStructuresandAlgorithmAnalysisinJava):这是一本非常适合Java程序员阅读的数据结构和算法书籍。它详细介绍了各种数据结构和算法的实现方式和应用场景,包括链表、栈、队列、二叉树、图等。
7.《算法导论》(IntroductiontoAlgorithms,2ndEdition):这本书虽然是一本经典的算法书籍,但对于初学者来说可能有些难度。因此,如果自学算法的过程中遇到了困难,这本书可以作为辅助教材。
8.《算法竞赛实战》(AlgorithmicGameTheory):这本书介绍了算法竞赛中常用的一些思维方法和技巧,包括图论、动态规划、贪心算法等。它可以帮助程序员更好地理解算法竞赛,并提高自己的算法竞赛水平。
9.《算法复杂度分析基础》(IntroductiontoComputerScienceandProgrammingLanguages,2ndEdition):这本书详细介绍了算法复杂度分析和优化的基础知识,包括分治法、回溯法、贪心算法、动态规划算法等。它可以帮助程序员更好地理解算法复杂度,并选择适合自己的算法。
10.《算法竞赛经典案例》(AlgorithmicAnalysisandDesigninPractice):这本书通过大量的算法竞赛案例,介绍了算法设计和分析的实际应用。它可以帮助程序员更好地理解算法设计和分析,并提高自己的算法竞赛水平。
11.《算法导论》(IntroductiontoAlgorithms,2ndEdition):这本书虽然是一本经典的算法书籍,但对于初学者来说可能有些难度。因此,如果自学算法的过程中遇到了困难,这本书可以作为辅助教材。
摘自:
http://tieba.baidu.com/p/5067933047