我们已经准备好了,你呢?

2024我们与您携手共赢,助您领跑移动端创新增长!

  算法、数据结构与语言并没有直接关系,任何称职的程序员都应该能够将它们转换为自己选择的语言。不幸的是,我遇到过几个非常擅长编程语言的程序员,以Java为例,他们知道API的小细节和复杂的语言流程,但对算法却知之甚少。让他们纠正比较流行的排序算法,比如快速排序算法,他们会难以下手。别说更复杂的算法,如字符串,图像算法,树或贪婪算法(等等)。有一次,我问了一个非常优秀的应聘者,他擅长Java和多线程,但是他在数据结构和算法上的能力是极其浅薄的。我问他,为什么他来面试前不花时间学习算法和解决问题的技巧。他的借口是"这些算法只适用于面试,从未真正用于实际的编码。在我6年的Java开发生涯中,我从未使用过它们。"他是对的,但他没有认识到从长远的角度考虑,算法和数据结构在提高编程技能方面所起的作用。它们是培养编程技巧和编码意识的工具,是将用户需求转化为一行代码(也称为计算机程序)的"必需品"。

  10本关于算法和数据结构的书籍,开发人员必读

  算法就是数据结构,是为那些想在亚马逊,谷歌,脸书,英特尔或微软工作的人准备的,记住这是唯一永恒的技能。当然,除了UNIX和C语言之外,语言来来去去,似乎很难统一。但编程的核心是算法和数据结构。如果你知道哈希表是如何工作的,那么你可以在任何编程语言中使用它们,例如JDK中的HashMap或C+Boost库中的HashMap。因此,如果你现在认真考虑编程并认识到算法和数据结构是你必须掌握的,这里有一些学习算法的好书。你们中的一些人可能以前读过,但它们值得再读一遍。

  托马斯·科尔曼的《算法导论》

  (

  这是最流行的算法书籍之一,但要知道它包含了大量的理论。这本书的最新版本是第三版,我强烈建议每个程序员都应该把它放在他们的书架上,但仅限于短期阅读和参考。因为一口气读完这本书是不可能的。另外我推荐这本书作为第一本关于算法的书,因为它与语言并没有直接关系。

  罗伯特·塞奇维克和凯文·韦恩的《算法》

  (

  很长一段时间以来,这是我最喜欢的算法资源,现在仍然是,但是我现在看它的次数比以前少了。你会学到很多关于算法的背景知识,现在这本书的特定版本可以用在不同的编程语言上,例如Java和c++。还有一门课程是关于这本书的,即《算法》第1部分和《算法》第2部分。这是我对Java程序员学习算法的最好建议,信不信由你。如果你已经知道了一种编程语言,那么阅读这本书你要获得全新的理解。你也可以在网上免费阅读这本书的第四版。

  史蒂夫S.斯基纳的《算法设计手册》

  (

  这是另一本关于算法的好书,里面有大量的算法代码。我特别喜欢这本书的地方是他在实践中使用算法(或其变体)的例子;它确实可以帮助你看到某个特定算法(或一系列算法)是如何解决特定类别的问题。

  代码是用C语言编写的,但它不是很深奥,很容易理解。

  通过这本书,我在图形算法上得到了很快的提高。我已经用了差不多10年,现在仍然不时地阅读它。

  《面试常见算法》

  (

  Adnan Aziz写的《面试常见算法》是一本关于算法的必读书籍,它的目的是让编程面试"有迹可循"。封面本身显示了这本书有多有趣,如果你仔细观察封面上的图片,你会发现是用名人的缩略图绘制的,这本书解释了如何开发这种算法。我喜欢这本书,因为它的方法和目标都颇为独特。

  《算法技术手册》/即:Algorithm in Nutshell

  简而言之,奥莱利的算法是一本学习编程算法的好书,尤其是对Java程序员来说。它描述了算法,重点是如何实现它们。它没有像其他经典的算法书籍一样使用大量的数学理念,而是把所有的算法都以模式的形式呈现,告诉你使用它们的动机,给出概述的图片和伪代码以及工作代码(在C、c++、Java和Ruby中)。这本书为算法的理论性能提供了很好的想法。简而言之,这是为程序员学习算法所准备的最好书籍(之一)。

软件开发算法书(每个程序员都应该阅读关于数据结构和编程语言的十大算法书籍!)

  Kleinberg和Tardos的《算法设计》/即:Algorithm Design

  这实际上是继托马斯·科尔曼的《算法导论》之后,算法领域的第二好书。它并不是对算法进行介绍,它更适合有经验的程序员。它更多的是为熟悉基本算法的开发人员准备的。你应该从罗伯特·塞奇维克的《算法》开始,然后再阅读这本书。

  《算法导论:一种创造性的方法》/即:Introduction to Algorithms: A Creative Approach

  《算法导论:一种创造性的方法》是一本很好的自学书籍,因为它充满了数百个问题和例子。它旨在提高读者解决问题的能力和理解算法设计背后的原则,这将帮助你提高你的程序解决和编码方面的能力。

  《算法的设计与分析》/即:The Design and Analysis of Algorithms

  这是另一本伟大的计算机算法书籍,值得在程序员的书架上占有一席之地。一旦你学习了Coursera的算法课程和其中一本入门书籍,你就可以阅读这本书来学习算法方面的高级主题。

  《数据结构和算法》/即:Data Structures and Algorithms

  这是另一本关于算法和数据结构的好书。一本详细而清晰的书,任何不喜欢在算法上大量使用数学的程序员都会喜欢这本书。

  《Python算法:掌握Python语言的基本算法》/即:Python Algorithms: Mastering Basic Algorithms in the Python Language

  这本书是为Python程序员设计的。MagnusLieHetland也是另外一本流行的python入门书《开始走进Python》的作者。这本书给出了很多关于图形算法的要点。正如我已经告诉过的,算法是独立于语言的,学习python算法并不意味着你不能在Java或C+中实现它们,但是如果你已经知道Python,那么这是一本学习计算机算法的好书。

  这就是每个程序员应该阅读的10本算法书籍。我同意算法的复杂性,在一次阅读中很难理解它们,在这种情况下,我建议阅读同一本书两次。此外,仅仅阅读是不够的,试着用你喜欢的编程语言来实现它们。编写自己的动态数组、HashMap或基于树的实现并不为过。学习算法的效果并不是立即可见的,但随着时间的推移,你会注意到你的思维、解决方案的构建和代码质量都有了细微的改进。我们只会有两种类型的程序员,一个懂算法,一个不懂算法。

  如果你喜欢这一系列的书籍,那么你也会喜欢我这次收集的每一个程序员都应该读的10本书,这是近50年来关于编程、编码、软件开发技术方面最伟大的书籍清单。

  顺便说一下,如果你对在线算法课程感兴趣,我建议你看看《算法和数据结构》的第1和2部分(这门网课Pluralsight上有。这是免费的课程,但你需要登录Pluralsight。它还提供10天的免费试用期,这足以让你选修这门课程以及其他数据结构和算法课程。

我们凭借多年的APP小程序开发经验,坚持以“个性定制 源码交付 独立部署 满意为止”为宗旨,累计为5000多家客户提供品质服务,得到了客户的一致好评。即刻开启你的小程序/APP,帮您轻松抢占千亿流量红利,助您轻松获客!
立即咨询: 13716188458 / 18588225959,助您抢占市场先机。项目经理在线

我们已经准备好了,你呢?

北京麦蒙科技有限公司与您携手共赢,助您领跑移动端创新增长

售前咨询
咨询电话

13716188458

18588225959

在线留言
扫码加微信
微信
在线留言
* 请输入姓名
* 请输入有效联系方式
请输入您的需求:
* 请输入需求
提交成功