Python目前是入门者学习编程的首选语言,它不仅被应用于传统的编程任务,如Web应用程序设计;也被大量“被赶鸭子上架的程序员”——科学家、数据专员以及工程师所采用,他们编程并非出于兴趣,而是必须靠编程才能在自己的领域中更进一步。一门简单的编程语言为业余编程人员提供的便利是不容小觑的。本文大致梳理了多本重点好书的学习路线,希望在大家选书的时候有所帮助。仓促写完本文后,我觉得成为一名优秀的工程师需要学习的真是太多了,而且既要涉猎广泛,又要深度耕耘,职业选手只有终身学习才能保持在线状态。
我在学习编程时,能够理解基本的结构体,比如分支、迭代以及函数定义,也接触过面向对象编程,并且能够创建和使用简单的类。如果是学的python的话,也能够理解Python的基础数据结构,比如序列、列表和字符串以及字典。其实数据结构与算法可以独立于编程来学习和理解。
我们可以使用Python使用和掌握数据结构与算法。首先学习线性数据结构,包括栈、队列、双端队列以及列表。用Python列表以及链表实现这些数据结构。然后学习与树有关的非线性数据结构,了解连接节点和引用结构(链表)等一系列技术。最后,通过运用链式结构、链表以及Python字典的实现,学习图的相关知识。对于每 一种结构,使用Python提供的内建数据类型的同时展现众多的实现技巧。
《Python数据结构与算法分析第2版》中文PDF+英文PDF+源代码+ 布拉德利
《Python数据结构与算法分析第2版》中文PDF,603页,word版,594页,文字可以复制;英文PDF,240页,有目录,文字可以复制。配套源代码。作者:布拉德利米勒 译者:吕能
了解数据结构与算法是透彻理解计算机科学的前提。随着Python日益广泛的应用,Python程序员需要实现与传统的面向对象编程语言相似的数据结构与算法。《Python数据结构与算法分析第2版》用Python描述数据结构与算法,汇聚了多年的实战经验,讲解在Python环境下,如何通过一系列存储机制高效地实现各类算法,将深刻理解Python数据结构、递归、搜索、排序、树与图的应用,等等。
格罗纳《学习JavaScript数据结构与算法第3版》PDF中文+习题代码+PDF英文
《学习JavaScript数据结构与算法第3版》中文PDF,314页,带书签目录,文字可复制。英文PDF,566页,带书签目录,文字可复制。配套源代码。
开发人员有必要补一补算法功底,《学习JavaScript数据结构与算法第3版》首先介绍了JavaScript语言的基础知识(包括ECMAScript和TypeScript),其次讨论了数组、栈、队列、双端队列和链表等重要的数据结构,随后分析了集合、字典和散列表的工作原理,接下来阐述了递归的原理、什么是树以及二叉堆和堆排序,然后介绍了图、DFS和BFS算法、各种排序(冒泡排序、选择排序、插入排序、归并排序、快速排序、计数排序、桶排序和基数排序)和搜索(顺序搜索、二分搜索和内插搜索)算法以及随机算法,接着介绍了分而治之、动态规划、贪心算法和回溯算法等高级算法以及函数式编程,最后还介绍了如何计算算法的复杂度。
谢路云《算法第4版》PDF+代码习题
《算法第4版》原版PDF,678页,带目录,文字可复制;配套源代码。
算法第4版,是为在校学生量身打造的。没有数学基础?没关系,只要你在高中学过了数学归纳法,那么书中95%以上的数学内容你都可以看得懂,更何况辅以大量图例。没学过编程?没关系,第1章会给大家介绍足够多的Java知识,即使你不是计算机专业的学生,也不会遇到困难。内容编排循序渐进,由易到难,前后呼应。
张贝《我的第一本算法书》PDF+动画+石田保辉
《我的第一本算法书》PDF,210页,彩色配图,带书签目录,文字可以复制。
常见算法,到处都有实现,许多语言都封装好,可以直接调用。 《我的第一本算法书》采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了7个数据结构和26个基础算法的基本原理。第1章介绍了链表、数组、栈等7个数据结构;从第2章到第7章,分别介绍了和排序、查找、图论、安全、聚类等相关的26个基础算法,内容涉及冒泡排序、二分查找、广度优先搜索、哈希函数、迪菲 - 赫尔曼密钥交换、k-means 算法等。
《算法之美指导工作与生活的算法》PDF中文+PDF英文
《算法之美指导工作与生活的算法》中文PDF,带目录,504页,文字可复制;英文PDF,带书签目录,300页,文字可以复制。
《算法之美指导工作与生活的算法》通过丰富的跨学科研究指出,计算机算法也可以用来解答面临的问题。把计算机科学的智慧转化为人类生活的策略,引导我们做出明智的选择。
陈小玉《趣学算法》PDF+刘新宇《算法新解》PDF
《算法新解》中文PDF,刘新宇著,538页,带书签目录,文字可以复制。《趣学算法》中文PDF,陈小玉著,608页,带书签目录,文字可以复制。
《算法新解》分4 部分,同时用函数式和传统方法介绍主要的基本算法和数据结构。数据结构部分包括二叉树、红黑树、AVL 树、Trie、Patricia、后缀树、B 树、二叉堆、二项式堆、斐波那契堆、配对堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法、字符串匹配算法(KMP 等)、深度优先与广度优先搜索算法、贪心算法以及动态规划。
袁国忠《算法图解》中英文PDF+代码
《算法图解》中文PDF,199页,带目录,文字可以复制;英文PDF,258页,带目录,文字可以复制。配套源代码。
《算法图解》很薄,很简单,也好看,图示法表达可将复杂抽象的理论,阐释的通俗易懂,最大的特点是图多,在每一章节之前会设定一个场景问题,从而引入合适的算法去求解。
赵勇《算法谜题》PDF 中英文+《算法神探》PDF中英文
《算法谜题》中文PDF,271页,带书签,文字可复制;英文PDF,280页,带目录,文字可复制。《算法神探》中文PDF,242页,带目录,文字可以复制;英文PDF,259页,带目录,文字可复制。
《算法谜题》分为4个部分,分别是概览、谜题、提示和答案。概览介绍了算法设计的通用策略和算法分析的技术,还附带有不少的实例。谜题部分将谜题按照简单、中等难度和较难三个层级分别列出。提示部分依次给出谜题提示,帮助读者找到正确的解题方向,同时仍然为读者留下了独立求解的空间。答案部分则给出了谜题的详细解答。
温格罗《数据结构与算法图解》PDF中文+PDF英文+习题代码+袁志鹏
《数据结构与算法图解》中文PDF,174页,带目录,文字可复制;《数据结构与算法图解》英文PDF,203页,带目录,文字可复制;配套源代码。作者: 杰伊温格罗 译者: 袁志鹏
《数据结构与算法图解》以实例来演示如何加快代码运行速度,提到各种排序算法,包括冒泡排序、选择排序和插入排序,探讨几种数据结构,包括散列表、栈和队列,展示它们对代码速度和可读性的影响,并学会用其解决实际问题。
工作指导《疯狂Python讲义》PDF+解答代码+李刚
李刚《疯狂Python讲义》PDF,633页,带书签,文字可复制。配套解答源代码。
《疯狂Python讲义》介绍Python开发工程化方面的内容,为Python程序编写符合格式的文档注释、提取文档注释生成帮助文档,为Python程序编写测试用例,程序打包等内容;Python项目实战部分引入了pygame、matplotlib、Pygal、Scrapy这些第三方的包,通过项目介绍Python游戏开发、大数据展示、网络爬虫等热门技能 ,尤其是网络爬虫和大数据展示。
《AI算法工程师手册》PDF+《算法笔记》PDF
《AI算法工程师手册》PDF,1440页,文字可以复制;《算法笔记》PDF,183页,带书签目录,文字可以复制。
《算法笔记》尽可能地避开了以应试为导向的灌输式讲解,力求引起兴趣并扩大其视野,例如在介绍哈希时,讲解了如何将哈希的算法思想运用于相似性搜索、负载均衡等多个实际问题中;又如在介绍高斯消去法时,讲解了相关的数学理论及编程实现上的具体技巧,并将其运用于对大规模稀疏线性方程组的求解,等等。