初读《研究之美》(本人书评,原载于豆瓣)
《研究之美》这本书,讲述了一对情侣一次偶然地遇到了一些记有各种不认识的符号的石头,并通过研究这些符号之间的关系,从而发现了一种新理论的故事。这种理论,从书的前言可以知道,称为 Conway 的超实数理论。
此书是斯坦福大学的非常有名的高德纳教授所写。在大二时候,我所在的交大计算机系班级,有一门《数据结构与算法》课程,采用的教材是严蔚敏教授的《数据结构》教材。此本教材中提到好些基础算法,其中有一个非常有名的字符串搜索算法,叫 KMP,其中 K 即是 Knuth,即高德纳教授。当初这个算法是 Knuth 和 Pratt 一起发现的,而 Morris 则是单独发现的,但时间上差不多,所以称为是 KMP 算法。
大三时候,有同学开始看起了高德纳教授的《计算机编程的艺术》,即著名的 TAOCP。这不是一本书,而是一个系列。我到现在都还没敢读,但是如果要说它的难度——请把《研究之美》里面的超实数完全看懂就知道了,因为这本书也有相当难度。引用一段网友的话:
“TAOCP 很难读的。
“我大四的时候很幸运,遇到一个牛逼的同学,常常相互讨论,才把第一卷囫囵吞枣的看掉大约一半的样子。剩下的一半是在美国慢慢啃完的。
“第三卷我看了一些,非常难读,基本上等于没读过,第二卷粗看了几道题和简单的一些东西,结果 Google 面试就问到了一道。目前最有把握的是第四卷放出来的几小本,来美国之后,和我 officemate 一起讨论,花了大半年,做完了两小本后面的习题(一共就 200 道的样子)。但是放出来的几小本都是介绍性的,连算法的皮还没摸着呢。
“虽然我一本都不缺,也不敢四处谈 TAoCP 呵呵 🙂 只敢在写文章的时候提一下这本书的牛逼程度。”
虽然《研究之美》也很难读,但是我看到高德纳教授为本书写的前言之后倒也会心一笑,特别是谈到了本书的译者——高博,与高德纳同姓一事,想来也是一种特别的缘份。
读这本书的时候,手边最好有纸和笔,或者至少一台电脑,里面跑一个记事本或一个绘图软件,用来打打草稿。
一上来,最容易搞混的就是那个“小于等于”的概念。这个和一般算术里面的小于等于的概念不完全一样,应用的范围也不一样。但是,一旦从第 25 页那里,把 (phi, X) 和 (Y, phi) 的概念推广了,那么就比 0、1、-1 带来的感觉更多些了。
接下去的内容我还在读,等有体会了再上来与大家分享。