第一章
一道弹性碰撞的物理题,结果为什么会出现π?
第二章
超级任务与一致收敛
第三章
怎样在球面上“均匀”排列许多点?
第四章
一道“小黄鸭”概率题及其有趣扩展
第五章
“赌徒”的征程
第六章
一种错误的洗牌算法,以及乱排常数
第七章
用位运算速解n
皇后问题
第八章
如何不重复地枚举24点算式?
第九章
Sprague-Grundy定理是怎么想出来的?
第十章
小算法题,大应用:如何“掰平”一个不单调的序列?
第十一章
二叉树怎样序列化才能重建?
献给我心爱的妻子荣
序
一晃与Maigo相识已有10个春秋。从在CMU一起上TomMitchell的机器学习概论到见证彼此的博士毕业,Maigo的风趣、博学与睿智一直如一盏明灯陪伴着我,我相信这也照亮了Maigo身边的许多朋友。今天,我们有幸翻开这本书,一起沐浴这让你没想到的数学思维之光。
有人说Maigo是学霸。这其实不确切,他是学神中的学霸!他的思维清晰而深刻,总能深入浅出地把复杂符号背后的原理直观地说清楚;他的涉猎广博而庞杂,许多看似东一块儿西一块儿的知识碎片,被他一组织就能呈现出完整的体系;他的讲解灵活而机动,许多时候你一问,他便像个医生一样,猜出你的知识拼图其实缺少哪一块,补上之后问题自然消融——治本!
更有人说Maigo是笑呵呵搞定博士学位的,因为他善于挖掘科研中的乐趣。这其实也不准确,科研中的乐趣哪用得着挖掘呢?无论是数学、计算机还是生命本体,在Maigo这里本就是其乐无穷的。希望大家在读这本书的时候,不但能受之鱼,更能受之渔。
好了,就夸他到这里吧。一来,这本书其实我还没读过,但我期待通读时的酣畅淋漓。二来,Maigo能带给大家的益处,实在是一个序言放不下的。我也要悠着点说,不然下本书还请我写序怎么办呢。就让我们一起来学习这本《你没想到的数学》吧!
Dr. Gus 夏
程序猿,松鼠仙,音乐弥
辛丑,夏至
能主动拿起这本书,说明你是一个喜欢数学的人。当别人还在为数学考试焦头烂额的时候,你已经像我一样,在享受思考带来的乐趣了。
这本书收集了我在日常的学习以及上网时遇到的许多有趣的数学问题。别看这些问题很简单,研究起来却别有洞天。在不断发出“柳暗花明又一村”的感叹中,也许你就会不知不觉地来到数学研究的前沿。
本书从两个简单的问题讲起,带你体会数学中“形”的直观与“数”的严谨。我国数学家华罗庚曾经说过:“数缺形时少直观,形少数时难入微;数形结合百般好,隔离分家万事休。”本书第一章研究一道关于碰撞的物理问题,它的巧妙解法体现了怎样通过“形”的方式使“数”的问题变简便。第二章介绍“超级任务”与Ross-Littlewood悖论,会涉及微积分中“一致收敛”的概念,仅通过形象思考不容易看清全貌,必须进行严谨的“数”的分析。
之后的几章,则通过深入分析几个看似简单的问题,带你领略数学中若干分支深处的风景。第三章研究在平面与球面上排列点阵(像向日葵花序那样)的问题,其探索过程主要涉及连分式的知识。第四章至第六章的几个问题都涉及概率与随机过程:第四章的“小黄鸭”问题,由二维平面与三维空间中的形象思考上升到高维空间中的严谨推理;第五章探讨“赌徒”的必胜策略,用到了随机过程中“鞅”的停时定理,以及谱分析法;第六章研究“洗牌”算法的一种错误实现中出现的神秘常数,会触及“q-Pochhammer符号”这种特殊函数。
数学与程序设计,是亲密如孪生姐妹的两个学科。在数学研究中遇到问题时,可以借助编程来获得灵感和验证结果;用数学方法研究出的结论,也能指导我们写出更短、更快、更好的程序。第三章至第六章的探索过程,都以计算机编程作为辅助手段,而第七章至第十一章,则以编程本身为研究对象。如果你正在学习算法与数据结构,这几章的内容会让你的头脑得到很好的锻炼。