在我们还没接触编程,都有疑问过,数学不好能学习编程吗?数学不好能做程序员吗?
这里我可以先回答你,是可以的。但是你想做一个优秀的程序员,想提升自己的实力,提升数学知识是很有必要的!
很多小伙伴都害怕去学习数学,这是为什么呢?简单地说,这是因为我们高中数学的教学体系和早期的数学学习资源非常少,而且很多朋友在高中的时候害怕学数学,但是到了大学却开始爱上数学
数学是我们生活中必不可少的一部分,我们每天都需要用到它,当你是一个程序员,你最需要的也是数学,因为数学能让人更有逻辑,更有创造力,更聪明。
要成为一名更好的程序员,你至少得了解一些离散数学、线性代数、微积分、概率论、密码学、几何和统计学。
这也是我创建这个清单的原因,这样你就可以用数学的方式思考问题,首先我们先从图书说起:
1、《离散数学及其应用(原书第7版)》
本书是介绍离散数学理论和方法的经典教材,已经成为采用率最高的离散数学教材,被美国众多名校用作教材,获得了极大的成功。
2、《具体数学》
本书介绍了计算机的数学基础,内容涉及求和、取整函数、数论、二项式系数、特殊数、母函数(发生函数)、离散概率、渐近等等,适合面向从事计算机科学、计算数学、计算技术等方面的工作人员及高校师生。
3、《Category Theory for Computing Science》
本书是非常值得重读的数学著作,适合学习中的计算机科学家,逻辑学家,语言学家等,可以作为范畴论的入门书籍,1988年版本可免费下载,1999年版还扩充的习题和解答。
下载地址:http://www.math.mcgill.ca/triples/Barr-Wells-ctcs.pdf
4、《3D数学基础》
本书涵盖了理论知识和C++实现代码。理论部分解释3D数学和几何之间的关系,可以通过任何编程语言实现,列出的技巧与公式可以当做参考手册以方便查找,实现部分演示了怎样用代码来实现这些理论概念。
5、《Introduction to Coordinate Geometry》
坐标几何是数学中最重要的一个知识点之一,它用代数方法研究几何对象之间的关系和性质,这使得集合问题也能用代数方法解决,本书相对基础,主要涵盖以下内容:
- 熟练掌握有理数运算
- 基本代数表示法
- 熟练使用代数表达式和方程
- 笛卡尔坐标系
下载地址:http://www.amsi.org.au/teacher_modules/pdfs/Introduction_to_coordinate_geometry.pdf
6、《Euclidean Geometry》
非欧几何是一门大的数学分支,本书是欧几里得几何的几门书籍,在训练人的逻辑推理思维方面,本书不失为一本好书。
下载地址:http://www.mathcentre.ac.uk/resources/uploaded/euclidean-geometry-october-final.pdf
7、《程序员的数学》
《程序员的数学》一共有三部,分别为:《程序员的数学》、《程序员的数学2:概率统计》、《程序员的数学3:线性代数》
本书主要面向程序员介绍编程中常用的数学知识,以此培养初级程序员的数学思维。读者无需精通编程,也无需精通数学,只需要具备四则运算和乘方等基础知识,就可以阅读本书。所以这是一本面向初级程序员,重在培养数学思维的书,而不是教你如何编程的书。
8、《离散数学及其应用(中文第六版)》
这本书已经出到第6版了,可谓是是经典之作,书中全面而系统地介绍了离散数学的理论和方法,内容涉及数学推广、组合分析、离散结构和算法设计,作者相当注重学后的巩固练习,每一章节都配备多套练习题让读者完成,此外,本书还有一大特点就是书中还穿插了许多数学家的生平,让原本枯燥的数学书变得有趣起来。
9、《具体数学:计算机科学基础》
本书作者尝试使用更具体的数学问题代替各种抽象概念和定理,教会学生处理实际问题的技巧,通过把实际问题一步步演化为数学模型,然后通过计算机实现它,内容涵盖求和、取整函数、数论、二项式系数、特殊数、母函数(发生函数)、离散概率、渐近等等。
10、《统计学 基于R应用》
统计学习的入门书,通俗易懂,号称是ESL的入门版,通篇基于R实现全部例题计算与分析的统计学教材,初学主要是先了解概念,对机器学习有一个大致概念,没必要一上来就去纠结各种数学证明,各种算法细节,因此,本书十分适合想要入门机器学习的程序员
11、《线性代数应该这样学》
本书强调抽象的向量空间和线性映射,内容涉及多项式、本征值、本征向量、内积空间、迹与行列式等。本书在内容编排和处理方法上与国内通行的做法大不相同,它完全抛开行列式,采用更直接、更简捷的方法阐述了向量空间和线性算子的基本理论。
12、《普林斯顿微积分读本(修订版)》
这本经典著作源于风靡美国普林斯顿大学的阿德里安·班纳教授的微积分复习课程,阐述了求解微积分的技巧,详细讲解了微积分基础、极限、连续、微分、导数的应用、积分、无穷级数、泰勒级数与幂级数等内容,旨在教会读者如何思考问题从而找到解题所需的知识点,着重训练大家自己解答问题的能力。
13、《这才是最好的数学书》
本书分为上下两册,《这才是最好的数学书》(上):在上册中,数学大师笹部贞市郎从数学的起源、发展、背后的故事、实际应用、学习方法五方面,让读者从全新的角度认识数学,发现数学的趣味性,同时探讨了许多数学基本问题。
《这才是最好的数学书》(下):在下册中,笹部从数学家的故事、数学的应用、脑力游戏、逻辑培养、随想总结五方面,让读者从全新的角度发现数学的实用性,如何用数学来解决日常生活现实问题,
14、《数学思维导论》
本书作者是斯坦福大学的数学家基思·德夫林,书中没有公式,纯讲数学思维,将抽象描述成数学语言,用数学逻辑来证明事物的正确性,现如今,优秀的分析思维能力比以往任何时候都更加重要,而具备“数学思维技能”的人会在竞争中占据巨大优势。
15、《魔鬼数学》
世界知名数学家、美国科普作家乔丹?艾伦伯格的《魔鬼数学》,可谓是“深入浅出”的典范创作,他运用数学方法分析和解决了很多的日常生活问题,帮助数学门外汉习得用数学思维思考问题的技能。
数学在程序中无处不在,在编程中很多变量在许多方面都和代数相似,如果你懂一点微积分,你可能就知道如何以一种更加高效的方式解决问题,说白了,编程的基础是计算机科学,而计算机科学的基础是数学。因此,数学能力对程序员不可或缺。
程序员相关的数学图书远远不止这些,如果你有其他读过的数学好书,也可以在下方评论出你觉得比较好的书籍。
自己是从事了五年的前端工程师
如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入web前端学习交流群:731771211 里面可以与大神一起交流并走出迷茫。新手可免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行不停更新最新的教程和学习方法(详细的前端项目实战教学视频),有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入
点击:加入
原文地址:https://blog.51cto.com/14197670/2357348