读完了书本算法书后再次评价这本书
在刚读完这本书时写了个简短的书评, 时隔一年之后, 又读完了许多算法书, 也做了许多的算法设计, 实在忍不住要再评论一次.
我完全忘记我是咋发现这本书的, 只记得当时刚读完计算机图形学, 要做一个图形类的东西的开发, 发现图形相比图像难多了, 所以拿这本书用来补充基础的.
那么这本书到底补充了我的基础没有, 这个真的很难说...
这本书虽然很厚, 但是其实就反反复复剖析了 16 个 (类) 问题, 没有多少数学论证, 但是文字密度极其高, 不厌其烦, 一连几页反反复复推敲一个问题, 一点一点地把那个最终算法给 "抽" 出来, "抽" 这个字我不知道是否贴切, 但是实际上你可以理解为你顺着这些文字自己将最终的算法顺理成章地理出来.
这是我第一次看到算法书居然能够如此写作, 不亚于丝丝入缝的侦探小说. 当然也可能跟这本书的主题有关 - 计算几何没有严密的数学逻辑, 写作要靠作者的算法和文字功底.
不过另一方面, 这本书不适合所有人, 可能不适合大多数人, 因为它是在是太 "啰嗦" 了, 以至于国内的写书人可以另写一本不到 50 页的书把里面的内容都包含, 而且公式公理 1234 啥的全都包含, 结构整理, 毫无瑕疵.
如果你真的想读这本书, 你不需要有多少算法基础, 但是一定要有足够的耐心. 我有算法基础, 阅读这本书仍然花费了超过 160 个小时. 阅读书的正文没有花费多少时间, 都花在了习题上.
这本书的习题又是另一个算法习题层次, 之前读算法书, 总是被习题的各种歧义表达弄得难受, 但是这本书的习题, 你读完一遍马上就知道它到底是什么意思, 但是却迟迟想不出答案, 然后不得不翻回前面的章节正文顺着作者的思路反反复复阅读, 直到获得启发找到答案.
这本书的第一章习题非常简单, 以至于我以为我读的是一本本科前教材. 从第二章开始, 习题难度指数级增加 (我确定是指数级, 因为我统计过解决这些习题所花费的时间), 直到中段又趋于稳定.
一年多之后, 那些算法的细节渐渐都淡忘了, 但是每每遇到问题, 我都会代入阅读这本时的那种情境, 自然而然地慢慢引出解决方案.
我个人认为, 从某种程度上来说, 这本书相比于术, 更接近于道, 前提是你能有对应的心境去接受它.