- 建立编程所需的数学思维:通过二进制、逻辑、余数、递归等基础数学知识,帮助程序员理解编程背后的数学本质。
- 消除对数学的畏难情绪:全书没有晦涩公式,用146张图表和有趣例题,让数学基础薄弱的读者也能轻松入门。
- 理解经典算法中的数学原理:通过哥尼斯堡七桥问题、汉诺塔、斐波那契数列等经典问题,揭示算法设计中的数学思想。
- 掌握指数爆炸与不可解问题:帮助读者理解计算复杂度的本质,认识到哪些问题是计算机无法解决的。
- 迈出机器学习的第一步:新增附录讲解感知器、损失函数、梯度下降法和神经网络,带领读者走进机器学习的世界。
★★★
中级
入门初级中级进阶高级
- 编程初学者:数学基础薄弱但希望理解编程背后数学原理的入门程序员,无需精通数学即可阅读。
- 非科班转行程序员:缺乏系统数学训练,需要通过通俗读物补齐离散数学和计算思维的开发者。
- 计算机专业低年级学生:正在学习离散数学或算法课程,需要一本轻松有趣的辅助读物来加深理解。
- 对机器学习感兴趣的初学者:想通过附录了解感知器和神经网络的基本数学原理,为后续深入学习打基础。
- 从第1章顺序阅读:各章内容由浅入深,前几章的计数法和逻辑是后续章节的基础,建议不要跳读。
- 动手推导书中的例题:每章穿插大量有趣例题,建议读者先自行思考再看解答,效果更佳。
- 重点研读第6-8章:递归、指数爆炸和不可解问题是培养计算思维的核心章节,值得反复阅读。
- 将数学与编程实践结合:阅读时尝试用代码实现书中的数学问题,如汉诺塔、斐波那契数列等。
- 附录作为机器学习入门跳板:读完正文后认真研读附录,了解感知器和梯度下降法,为进阶学习做准备。
- 掌握二进制与按位计数法:理解计算机为何采用二进制,以及0在计数系统中的关键作用。
- 建立逻辑思维与卡诺图技能:能够使用逻辑表达式和卡诺图解决复杂的条件判断问题。
- 理解递归与数学归纳法:掌握递归的定义方式和数学归纳法的证明思路,应用于算法设计。
- 认识计算复杂度的本质:理解指数爆炸的含义以及不可解问题的存在,建立对计算极限的认知。
- 获得机器学习入门知识:了解感知器、损失函数、梯度下降法和神经网络的基本原理。
📖 书籍简介
产品特色
编辑推荐
适读人群 :本书适合程序设计人员以及编程和数学爱好者阅读。
1.有趣易懂的图解教程
畅销书《程序员的数学》第2版!
全系列累计销量18万册
2.没有晦涩的公式,只有好玩的数学题
帮你掌握编程所需的“数学思维”
3.阐述编程需要的基础数学知识和数学思维
a.图文直观
穿插大量有趣的例题和146张图表
b.通俗易懂
无须精通数学与编程也可理解
c.以小见大
启发思维,探索数学与编程的本质
d.与时俱进
新增附录“迈向机器学习的第一步”
内容简介
《程序员的数学 第2版》面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无须精通编程,也无须精通数学,只要具备四则运算和乘方等基础知识,即可阅读本书。
《程序员的数学 第2版》讲解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、高斯求和、汉诺塔、斐波那契数列等经典问题和算法。引导读者深入理解编程中的数学方法和思路。
《程序员的数学 第2版》新增一个附录来介绍机器学习的基础知识,内容涉及感知器、损失函数、梯度下降法和神经网络,旨在带领读者走进机器学习的世界。
作者简介
结城浩(作者)
生于1963年,日本知名技术作家和程序员。在编程语言、设计模式、数学、加密技术等领域,编写了很多深受欢迎的入门书。代表作有《数学女孩》系列、《程序员的数学》《图解密码技术》等。
管杰(译者)
毕业于复旦大学日语系,现为对日软件工程师,具有多年日语技术文档编写经验。爱好日汉翻译和日本文化史,译有《明解C语言:入门篇》等。
卢晓南(译者)
本科就读于西安交通大学少年班、数学系。名古屋大学博士(信息科学)。现于山梨大学计算机系任助理教授。主要研究方向包括组合数学(离散数学)及其在信息科学、计算机科学、统计学中的应用。译著有《程序员的数学3:线性代数》。
📑 章节目录
- 0的故事——无即是有:二进制计数法与按位计数法
- 逻辑——真与假的二元世界:命题、德摩根定律与卡诺图
- 余数——周期性和分组:奇偶校验与规律发现
- 数学归纳法——如何征服无穷数列
- 排列组合——解决计数问题的方法
- 递归——自己定义自己:汉诺塔与斐波那契数列
- 指数爆炸——如何解决复杂问题
- 不可解问题——不可解也是一种答案
- 什么是程序——程序设计的基本思路
- 迈向机器学习的第一步:感知器、损失函数与神经网络
