【每日一知】什么是TAOCP? (2021.02.07)
一、简介
TAOCP (The Art of Computer Programming;计算机程序设计艺术)
一直是CS界公认的圣经,出自CS界大牛中的大牛Knuth之手
其实是一本书,奈何我第一次听说还以为是个什么框架模板或者语言呢0.0
二、阅读目的
看一下某位朋友的阅读动机:
一开始决定读这一套书其实源于一个很偶然的因素:伴随我多年的一台老笔记本突然罢工了。当时每天大部分时间都泡在实验室,用笔记本的机会并不多,所以也懒得去送修或换新。我习惯晚睡,每晚11点左右回到家,1点睡觉,扣除洗漱时间大概还有1个半钟无所事事,于是我想了一个办法一劳永逸地解决了此后两年多研究生生活的业余休闲问题:去书店搬了套TAOCP回来,每晚读上三五页,几乎从未间断过。
再看一下他的读后思考:
现在再回忆起这段专心读书的时光其实已经有点模糊了,虽然当时必定有许多困惑与挫败、涌动与狂喜。书上的内容乐观估计也就还能记住5%左右,但好在脑子里都还有一个大概的印象,遇到问题尚能有处可寻。
因此,总结来说:
如果你当下 “功利” 地想尽快学习一些算法或者代码知识,我个人并不推荐宁立刻去翻开这部经典。
如果你闲暇有余,有一定基础,并且想 “升华” 一下,去试试、没错的。
不然的话…
三、阅读指南
第一卷必读的章节是Mathematical Preliminaries以及Mathematical Preliminaries Redux (Redux其实是新放出来的,还未出版,这里也把它算到第一卷),这两节加起来不过一百多页,基本上可以认为是CMath(具体数学)的简略版,对于在乎收益比的同学,读这两小节总比去读好几百页的CMath划算得多。
第二卷相对比较枯燥,大部分内容都很琐细,但3.4节一定不能错过。
第三卷各种内排外排查找树哈希表,随意翻翻,长长见识就好,什么Interpolation Search, In-Place Merge Sort, 还有为什么Quicksort和Heapsort都没有空格, Merge Sort却要有空格之类的小八卦。
第四卷是最难的一卷,基本上全书都是组合数学和图论,相对简单易读的部分是7.1.3节,与Hacker’s Delight一书类似,介绍了各种位运算技巧,绝对实用。
阅读时容易走入的误区
看TAOCP最容易出现的一种现象就是,“哇!原来这个程序可以这么写。” 但是你不知道为啥那么写。虽然可以知道一些底层的原因,但是最根本的原理,读者始终不会明白。就像看清楚了一张图片上的每一个像素,却认不出图片上其实是一个熟人。看清楚了棋盘上每一个棋子能走的地方,却不能赢棋。
我看下来大体意思就是:注意 知其所以然 还有 既见树木,不忘森林。(如须取舍,森林为先)
====================================================================
每日更新
如果你喜欢这样的形式,记得 留言点赞关注,你们的支持是我创作的动力,我也在分享的同时跟你们一起学习√
欢迎建议、指正、批评。
转载:https://blog.csdn.net/qq_51366188/article/details/113735287