猜你喜欢
程序员的数学(第2版)

程序员的数学(第2版)

书籍作者:[日] 结城浩 ISBN:9787115504906
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9394
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《程序员的数学 第2版》面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无须精通编程,也无须精通数学,只要具备四则运算和乘方等基础知识,即可阅读本书。


《程序员的数学 第2版》讲解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、高斯求和、汉诺塔、斐波那契数列等经典问题和算法。引导读者深入理解编程中的数学方法和思路。


《程序员的数学 第2版》新增一个附录来介绍机器学习的基础知识,内容涉及感知器、损失函数、梯度下降法和神经网络,旨在带领读者走进机器学习的世界。


作者简介

结城浩(作者)


生于1963年,日本知名技术作家和程序员。在编程语言、设计模式、数学、加密技术等领域,编写了很多深受欢迎的入门书。代表作有《数学女孩》系列、《程序员的数学》《图解密码技术》等。


管杰(译者)


毕业于复旦大学日语系,现为对日软件工程师,具有多年日语技术文档编写经验。爱好日汉翻译和日本文化史,译有《明解C语言:入门篇》等。


卢晓南(译者)


本科就读于西安交通大学少年班、数学系。名古屋大学博士(信息科学)。现于山梨大学计算机系任助理教授。主要研究方向包括组合数学(离散数学)及其在信息科学、计算机科学、统计学中的应用。译著有《程序员的数学3:线性代数》。

编辑推荐
适读人群 :本书适合程序设计人员以及编程和数学爱好者阅读。

1.有趣易懂的图解教程


畅销书《程序员的数学》第2版!


全系列累计销量18万册


2.没有晦涩的公式,只有好玩的数学题


帮你掌握编程所需的“数学思维”


3.阐述编程需要的基础数学知识和数学思维


a.图文直观


穿插大量有趣的例题和146张图表


b.通俗易懂


无须精通数学与编程也可理解


c.以小见大


启发思维,探索数学与编程的本质


d.与时俱进


新增附录“迈向机器学习的第一步”

目录

第 1章 0 的故事——无即是有


本章学习内容 2


小学一年级的回忆 2


10进制计数法 3


什么是10进制计数法 3


分解2503 3


2进制计数法 4


什么是2进制计数法 4


分解1100 5


基数转换 6


计算机中为什么采用2 进制计数法 8


按位计数法 10


什么是按位计数法 10


不使用按位计数法的罗马数字 11


指数法则 12


10的0次方是什么 12


10–1是什么 13


规则的扩展 14


对20进行思考 14


2–1是什么 15


0所起的作用 16


0的作用:占位 16


0的作用:统一标准,简化规则 16


日常生活中的0 17


人类的极限和构造的发现 18


重温历史进程 18


为了超越人类的极限 19


本章小结 20


第 2章 逻辑——真与假的二元世界


本章学习内容 22


为何逻辑如此重要 22


逻辑是消除歧义的工具 22


致对逻辑持否定意见的读者 23


乘车费用问题—兼顾完整性和排他性 23


收费规则 23


命题及其真假 24


有没有“遗漏” 24


有没有“重复” 25


画一根数轴辅助思考 26


注意边界值 27


兼顾完整性和排他性 28


使用if 语句分解问题 28


逻辑的基本是两个分支 29


建立复杂命题 29


逻辑非—不是A 30


逻辑与—A并且B 32


逻辑或—A或者B 34


异或—A或者B(但不都满足) 37


相等—A和B相等 39


蕴涵—若A则B 40


囊括所有了吗 45


德摩根定律 46


德摩根定律是什么 46


对偶性 47


卡诺图 48


二灯游戏 48


首先借助逻辑表达式进行思考 49


学习使用卡诺图 50


三灯游戏 52


包含未定义的逻辑 54


带条件的逻辑与(&&) 55


带条件的逻辑或(||) 57


三值逻辑中的否定(!) 58


三值逻辑的德摩根定律 59


囊括所有了吗 60


本章小结 60


第3章 余数——周期性和分组


本章学习内容 64


星期数的思考题(1) 64


思考题(100 天以后是星期几) 64


思考题答案 65


运用余数思考 65


余数的力量—将较大的数字除一次就能分组 65


星期数的思考题(2) 66


思考题(10100 天以后是星期几) 66


提示:可以直接计算吗 67


思考题答案 67


发现规律 68


直观地把握规律 68


乘方的思考题 70


思考题(1 234 567987 654 321) 70


提示:通过试算找出规律 70


思考题答案 70


回顾:规律和余数的关系 71


通过黑白棋通信 71


思考题 71


提示 73


思考题答案 73


奇偶校验 74


奇偶校验位将数字分为2 个集合 74


寻找恋人的思考题 74


思考题(寻找恋人) 74


提示:先试算较小的数 75


思考题答案 75


回顾 76


铺设草席的思考题 77


思考题(在房间里铺设草席) 77


提示:先计算一下草席数 78


思考题答案 78


回顾 79


一笔画的思考题 79


思考题(哥尼斯堡七桥问题) 79


提示:试算一下 80


提示:考虑简化一下 81


提示:考虑入口和出口 82


思考题答案 82


奇偶校验 85


本章小结 86


第4章 数学归纳法——如何征服无穷数列


本章学习内容 88


高斯求和 88


思考题(存钱罐里的钱) 88


思考一下 89


小高斯的解答 89


讨论一下小高斯的解答 89


归纳 91


数学归纳法—如何征服无穷数列 91


0 以上的整数的断言 92


小高斯的断言 93


什么是数学归纳法 93


试着征服无穷数列 94


用数学归纳法证明小高斯的断言 95


求出奇数的和—数学归纳法实例 96


通过数学归纳法证明 96


通过数学归纳法证明 97


图形化说明 98


黑白棋思考题—错误的数学归纳法 99


思考题(黑白棋子的颜色) 99


提示:不要为图所惑 100


思考题答案 101


编程和数学归纳法 101


通过循环表示数学归纳法 101


循环不变式 104


本章小结 107


第5章 排列组合——解决计数问题的方法


本章学习内容 110


计数—与整数的对应关系 110


何谓计数 110


注意“遗漏”和“重复” 111


植树问题—不要忘记0 111


植树问题思考题 111


加法法则 115


加法法则 115


乘法法则 118


乘法法则 118


置换 121


置换 121


归纳一下 122


思考题(扑克牌的摆法) 123


排列 124


排列 124


归纳一下 126


树形图—能够认清本质吗 128


组合 130


组合 130


归纳一下 131


置换、排列、组合的关系 133


思考题练习 134


重复组合 135


也要善于运用逻辑 137


本章小结 140


第6章 递归——自己定义自己


本章学习内容 144


汉诺塔 144


思考题(汉诺塔) 145


提示:先从小汉诺塔着手 145


思考题答案 148


求出解析式 150


解出汉诺塔的程序 151


找出递归结构 152


再谈阶乘 154


阶乘的递归定义 154


思考题(和的定义) 155


递归和归纳 156


斐波那契数列 156


思考题(不断繁殖的动物) 157


斐波那契数列 159


帕斯卡三角形 162


什么是帕斯卡三角形 162


递归定义组合数 165


组合的数学理论解释 165


递归图形 167


以递归形式画树 167


实际作图 168


谢尔平斯基三角形 170


本章小结 171


第7章 指数爆炸——如何解决复杂问题


本章学习内容 174


什么是指数爆炸 174


思考题(折纸问题) 174


指数爆炸 177


倍数游戏—指数爆炸引发的难题 178


程序的设置选项 178


不能认为是“有限的”就不假思索 180


二分法查找—利用指数爆炸进行查找 180


寻找犯人的思考题 180


提示:先思考人数较少的情况 181


思考题答案 182


找出递归结构以及递推公式 183


二分法查找和指数爆炸 185


对数—掌握指数爆炸的工具 186


什么是对数 187


对数和乘方的关系 187


以2为底的对数 188


以2为底的对数练习 189


对数图表 189


指数法则和对数 191


对数和计算尺 192


密码—利用指数爆炸加密 195


暴力破解法 195


字长和安全性的关系 196


如何处理指数爆炸 197


理解问题空间的大小 197


四种处理方法 198


本章小结 199


第8章 不可解问题——不可解的数、无法编写的程序


本章学习内容 202


反证法 202


什么是反证法 202


质数思考题 204


反证法的注意事项 205


可数 205


什么是可数 205


可数集合的例子 206


有没有不可数的集合 208


对角论证法 209


所有整数数列的集合是不可数的 209


所有实数的集合是不可数的 213


所有函数的集合也是不可数的 214


不可解问题 215


什么是不可解问题 215


存在不可解问题 216


思考题 217


停机问题 218


停机 218


处理程序的程序 219


什么是停机问题 219


停机问题的证明 221


写给尚未理解的读者 224


不可解问题有很多 226


本章小结 226


第9章 什么是程序员的数学——总结篇


本章学习内容 230


何为解决问题 233


认清模式,进行抽象化 233


由不擅长催生出的智慧 233


幻想法则 234


程序员的数学 235


附录 迈向机器学习的第 一步


本附录学习内容 238


什么是机器学习 239


受到广泛关注的机器学习技术 239


机器学习是随着时代发展诞生的技术 239


预测问题和分类问题 240


预测问题 240


分类问题 243


感知器 245


什么是感知器 245


加权求和 247


激活函数 249


感知器小结 250


机器学习是如何“学习”的 250


学习的流程 250


训练数据与测试数据 251


损失函数 252


梯度下降法 254


作为程序员要做些什么 256


神经网络 256


什么是神经网络 256


误差反向传播法 258


深度学习和强化学习 259


人类就这样没用了吗 260


附录小结 261

短评

不错的书

2020-04-06 13:23:15

程序员的数学(第2版)的书评

首先,这是本好书。 本书有相当不错的易读性和趣味性,可以作为最入门级别的启蒙教材。我认为数学和编程是很重要的两个东西,而这本书可以当成这两门学问的基础读物。 或许对你的水平而言,你已经完全看不上这种水平的内容了。但是还有你的下一辈下一代。想想这本书对那些初学...

2013-04-15 18:12:36

前戏:很重要! 买这本书,是看了豆瓣很多书评,觉得喜欢他的人爱不释手,不喜欢的人束之高阁。好奇驱动,让我阅读这本书。 图灵出的书一般品质上还是有保证的,只不过外文书232页卖49元,真实不便宜啊! 正文:书归正传! 作者是一位日本人,自然本书以日本作家常用套路,以...

2014-06-14 17:58:44

MCMXCVIII=(M)+(CM)+(XC)+(V)+(III) =(1000)+(1000-100)+(1000-10)+(5)+(3) = 1998 今天上午网购的,看到这以为是盗版呢,发现豆瓣上的试读章节也是一样,可能是笔误吧,那个(XC),相对应的应该是(100-10),而不是(1000-10),希望出版社应该把此笔误纠正。

2012-12-06 22:52:03

好适合我这种小白啊。 好适合我这种从本科到研究生都是读纯文科的文科生啊。 特别地羡慕作者的生活啊,写书和写程序。 啊啊,我希望我能像作者一样! This book is very good for beginners who eager to learn programming. I am confident that I will become a good coder ...

2014-08-19 20:33:51

书中的思想很值得推荐,人类为什么需要计算机?因为我们不善于重复枯燥乏味的事情,而计算机却特别善于处理重复有规则的问题。 每一个程序员都要有此觉悟:我们是沟通人类世界和机器世界的翻译者,每一个问题,每一个需求的到来,最初的解决思路就是化繁为简,化不规则为规律,...

2014-11-13 22:27:14

来自读者的评论: 本书对思考程序的本质是非常有用的,如第四章从数学归纳法讲到循环不变式,这一无数大牛经常使用的分析工具,对理解《算法导论》、《编程珠玑》这样的经典都很有帮助。 读到第一章介绍2的0次方时,作者总结了一句话,相当的好:不要将 2的0次方的值作为一种...

2012-11-20 15:25:06

[日] 结城浩,图灵程序设计丛书 在一般的编程中,程序员通常不需要掌握很深奥的数学知识。不过,认清并简化问题结构,总结出具有一致性的规则等,对于程序员来说是家常便饭。 不要觉得“不擅长数学”就漠然处之,而要想到“数学妙趣横生,要多加运用”,给每天的编程都注入数学...

2018-01-07 23:17:46

打高中毕业基本就跟数学无缘了, 排序组合啥的都忘的一干二净, 尽管大学还学了高等数学, 也从没好好学过, 每次都是靠着考前突击两周拿个80、90多分过关, 工作后就更是没看过数学相关的东西了, 终有一日感觉再这样下去脑子恐怕再难开窍, 遂惊起, 决定重新温习一下数学, ...

2017-08-21 11:11:09

本书说理透彻,形象生动,将具体的例子上升至经验哲理的深度,令人大受启发。但文中所受知识略浅,更适合热爱编程的高中生阅读,或者爱好者闲时翻阅。 令,文中提到数学归纳法的时候,开头的部分的举例似乎有点问题,本人数学渣,不敢妄论。

2014-03-07 11:07:29

书籍的内容对开始进行计算机知识学习的人来说,非常的有用~书的内容十分基础,同时考虑到对学习的人的兴趣的培养,写的比较有趣,总的来说,算一本不错的入门书籍。 如果已经有比较好的基础,可以通过阅读本书花比较短的时间重温一些基础知识

2014-02-10 17:14:58