这是一本非常棒得书
- 大概是在暑期前拿到的这本书,应该在5月的下旬了。真正开始学习它就是在儿童节,起初是因为在学习研究Knuth的TAOCP的时候,这个就不用说了,神作!大概就是今年过年之后的时候买了TAOCP的5卷书,作者反复提到《具体数学》这本书,最开始并没有去买这本数学书,因为我本身算是有一点点数学基础,一直也算比较喜欢数学的,其实TAOCP第一卷前面的数学部分并没有太在意,但是看完第一卷之后,我还是决定买一本《具体数学》,这本书葛立恒是第一作者,高德纳是第二作者,然后从暑期开始认真学习这本书。
现在算是把第一遍认认真真的刷完了,差不多用了两个半月的时间,这是一本基础书!但这并不是一本生硬的教材,我刷第一遍主要就是把正文部分和每章后面课后热身题,基础题和作业题做了,有的考试题做了一些,其余的考试题,附加题和研究题准备现在二刷再去研究,这部分很多是非常难的问题!有些已经超出这本书了,有很多需要复变函数,傅立叶分析方面等等一些知识。以前对这本书的第一作者几乎不怎么了解(第二作者就是Knuth高德纳老先生),就只是听说过一个“葛立恒数”(一个需要用64层高德纳箭头去表示的数),当时还特意去学了下高德纳箭头,当时感觉这个数学家真的太厉害了,其他就不知道了,但是当认真的去学习这他的这本基础书时候,它真的是一本非常非常好的书,很敬佩!
书中大概有740多个式子,除了那些一目了然的,还有除了严重超出自身水平的,比如:哈代关于对数—指数函数类定理的证明,数论里面π(n)和Pn的渐进式的推导证明等等这些剩下大部分式子都自己推导了一遍,还有一些你可以去思考独立证明的东西,比如成套法的合理性,欧拉对卡西尼恒等式的推广,欧拉对连项式多项式的“摩尔斯码”方法的证明,kn mod m的性质的证明,欧几里得算法推论的自证,关于S-B树二叉搜索算法的证明,用留数去渐近伯努利多项式等等等等吧,书中是没有说的,因为其实都是一些不难的问题。我感觉多思考,可能就能长出更多的突触,就能更快的去连接。总体算纸用了一些,书里面写了一堆,还有关于课后题的笔记什么的记了一小本。
学习它虽然不代表就能怎么样,但是它里面精彩的部分真的不计其数!总体我的感受是,这本书对于我来说,让我见识到了不一样的数学,看似好像是讲一些技巧方法的书,但是里面的内容远远不止这些。可以拓展出来很多东西,哪怕是正文部分有很多东西都是提示性的,数学家的书嘛会把关键点都留下,其余的东西要自己去思考补充,所以可以去独立尝试证明和补充,书的排版非常好,中文版和英文版的排版是一样的,给你留下很大旁注的地方,尤其是对于我这种喜欢在书上写的人。
**特别是课后的练习题一定要做,不然真的会像作者说的那样“会错过很多东西”。学习这本书不算难,我说的不难不是指这本《具体数学》是白给的,三位作者都是大牛!而是指正文部分并没有什么让人难理解的东西,都是很初等的,作者写的非常详细,只要跟着逻辑走就行了,其实都是扎扎实实的基础知识,基本上一般工科大一的水平,接触过无穷级数,泰勒公式就完全没问题,如果卷一点的高中生应该都可以,学起来会非常顺畅,只是连接可能需要点时间,不过后面习题尤其是附加题和研究题都是一些很难的问题。越往后越能感觉到作者非常用心,书中每一个例子都是非常经典的,我觉得如果是让我独立去解答,大部分都有些难度的,有的甚至是做不出来的。通过学习《具体数学》真的扩展了自己的思维,其实对算子的理解和大O记号的理解都加深了。这本书里面精彩的部分很多,是艺术一样的思维,前半部分章节都是一些非常基础的东西,但是很有趣,有河内塔,切蛋糕,约瑟夫环,轮盘赌,足球胜利等等趣味问题,而且有些问题是随着进度会重复出现,用不同的视角去解决它!基础数论部分挺有意思的,有莫比乌斯反演,欧拉φ函数,从第五章后半部开始太多精彩的内容了。最精彩的个人认为主要是:第九章的大O记号,讲的真的非常好,其实大O理解好了,对于大Ω,小欧米伽ω,小奥密克戎o,大西塔Θ这些界都能有好的理解,大O这个东西真的非常好用,不光是用来渐近,对于很多不等式分析,配合无穷级数和洛必达法则解决一些棘手的极限问题都很好用!例如下面这种极限的证明,定理来自哈代著作的《不等式》。倒数第二节是欧拉求和公式从无余项到有余项再到更好的估计的证明,第九章最后一节关于欧拉求和公式的应用例子,你能看到斯特林近似是怎么推导来的,欧拉常数是怎么来的,第七章的生成函数讲的非常好,也非常有用,生成函数是非常重要的!印象很深的是关于有理函数展开定理的讨论,比如在不同根的情况是如何用极限去证明T(z)它一定是多项式,并且它又如何是0的,虽然很短,但是这个思维当时真的让我觉得很赞!还有第五章后面的Gosper-Zeilberger算法,第六章调和数,黎曼zeta函数,斐波那契数,伯努利数这几个特别重要的特殊数,还有欧拉数,一类二类的斯特林数也是重要的特殊数。
我起初是中文版和英文版都买了一本,但是中文版的翻译也很到位了!有错误的地方基本也都是印刷错误,我大概发现了7处错误,我记了下来,不过有一处我忘记在哪里了,以后再刷的时候会找到,大概是在费马小定理证明附近的一处印刷错误吧,这个记不清楚了。当然这些错误在英文版原书是不存在的,使得我开始还以为能获得2^6*2.56美元呢,哈哈哈哈。
总之这是一本非常好的书,对于研究TAOCP这算是本基础书了,当然不光是分析算法时间复杂度的时候用,因为这本身就是一本好的数学书!它是在教如何用数学去解决问题,书中有很多用递归思想去获得递归式的例子,这本书非常有价值,值得推荐。学习是无尽的,如果有也喜欢的小伙伴可以一起。