世界读书日,你的书架上还缺一本算法好书…
摘要:《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握的50种算法,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。《数据结构与算法分析 : Java语言描述(第2版)》。
作者:程序员书库
来源:程序员书库
自1995年联合国教科文组织宣布4月23日为“世界读书日”以来,今天正好是第23个“世界读书日”。
莎士比亚曾说:“生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。” 一个不重视阅读的程序员,将是一个平庸的程序员;今天程序员书库推荐7本程序员值得阅读的算法书籍。
1、《算法(第4版)》
● 算法领域的经典参考书
● 内容全面,采用Java语言讲解
● 全新修订的代码,与实际应用相结合
● 科学的方法,富有智力趣味性
《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握的50种算法,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。
第4版还提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。
2、《算法导论(原书第2版)》
● 超过50万人阅读的算法圣经
● 算法标准教材,国内外1000余所高校采用
● 对算法给出了清晰透彻、百科全书式的阐述。
这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。书中系统、全面地介绍了现代算法:从最快算法和数据结构到用于看似难以解决问题的多项式时间算法;从图论中的经典算法到用于字符匹配、计算集合和数论的特殊算法。
3、计算机程序设计艺术系列
● 被公认为是对经典计算机科学的论述
● 在1999年被《美国科学家》期刊评选为20世纪重要的12部学术专著之一
《计算机程序设计艺术》堪称计算机科学领域的瑰宝。普通程序员则一直在卓有成效地利用书中提供的各种方案解决日常问题。深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。
书中还展现了作者的博观、清晰、幽默。高德纳是算法和程序设计领域的先驱者,对计算机科学发展史也有着深入的研究,书中在介绍众多理论的同时,也给出了相关的历史和发展历程,成为本书的一大特色。
本书是该系列的第1卷,讲解基本算法,其中包含了其他各卷都需用到的基本内容。本卷从基本概念开始,然后讲述信息结构,并辅以大量的习题及答案。
本卷对半数值算法领域做了全面介绍,分“随机数”和“算术”两章。本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系,其中特别值得注意的是作者对随机数生成程序的重新处理和对形式幂级数计算的讨论。 本书附有大量习题和答案,标明了难易程度及数学概念的使用。
第3卷对经典计算机排序和查找技术做了最全面的考察。它扩充了第1卷对数据结构的处理,以将大小数据库和内外存储器一并考虑;遴选了精心核验的计算机方法,并对其效率做了定量分析。第3卷突出特点是对“最优排序”一节的修订和对排列论与通用散列法的讨论。
4、《Python算法教程》
● 用Python语言来讲解算法的分析和设计,关注经典的算法
● 作者是挪威科技大学的副教授,有数十年的算法教学经验
用Python语言来讲解算法的分析和设计,在Python领域颇有知名度,全书用Python语言来讲解算法的分析和设计。主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。
Magnus Lie Hetland是一位经验丰富的Python程序员,他自20世纪90年代以来就一直在使用该语言。同时,他还是挪威科技大学的副教授,有着数十年的算法教学经验,是《Beginning Python》1一书的作者。
5、《算法设计与分析基础(第3版)》
● 独辟蹊径,采用一种更全面的算法设计技术分类方法
● 为学生提供600多道习题(含提示)
《算法设计与分析基础(第3版)》十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。 本书在讲述算法设计技术时采用了新的分类方法,在讨论分析方法时条分缕析,形成了连贯有序,让人耳目一新的风格,此外,各章累计增加了70道习题,其中包括一些有趣的谜题和面试问题。
6、《学习 JavaScript 数据结构与算法》
● 内容浅显易懂,适合零基础
● 全书对数据结构和算法进行介绍,指引清晰,点到即止
JavaScript是一门非常强大的编程语言。它是最流行的编程语言,也是网络应用里最卓越的语言之一。在GitHub上托管了400 000多个JavaScript代码仓库,有研究表明在招聘企业中JS比Java更受欢迎。
本书首先介绍了JavaScript语言的基础知识,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、顺序搜索、二分搜索,还介绍了动态规划和贪心算法等常用的高级算法及相关知识。
7、《数据结构与算法分析 : C语言描述(第2版)》
●介绍了当前流行的论题和新的数据结构
●合并了堆排序平均情况分析的一些新结果
●是国外数据结构与算法分析方面的标准教材
《数据结构与算法分析:C语言描述(原书第2版)》讨论数据结构和算法分析。数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估。随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切。可是,由于在输入量很大的时候,程序的低效率现象变得非常明显,因此这又要求对效率问题给予更仔细的关注。
通过在实际编程之前对算法的分析,学生可以决定一个特定的解法是否可行。例如,学生在本书中将读到一些特定的问题并看到精心的实现方法是如何把对大量数据的时间限制从16年减至不到1秒的。
《数据结构与算法分析 : Java语言描述(第2版)》
随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。随着计算机功能的日益强大,它们必须解决的问题也变得更加庞大和复杂,这就要求我们开发更加复杂的程序。本书的目的是同时教授学生良好的程序设计技巧和算法分析能力,使得他们能够以最高的效率开发出这种程序。