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