书本的边界

一本书(尤其是技术方面的书)的内容肯定是有限的,书的作者肯定会在适当的时候结束对知识的拓展。某部分内容没有包括在某本书中,通常说明书的作者认为该部分内容已经超出了该书的范围。

而且必须要明白,一方面不见得书的作者的确将相关内容阐释清楚了(且可能会扩充较为次要的内容),另一方面,如果你读的书是译本,那么也不见得译者真正将作者的想法翻译清楚了。

所以,对于读者而言,应该意识到每本书都有其边界、每本书都只能够传递指定范围内的知识。阅读过程中,应该在适当的时候将书本所涉及到而没有详细解释的内容保留,交由其他书本来介绍,并将目光集中在手中书本的作者所希望教会你的东西。

比如,在《算法(第四版)》1.5 节对 union-find 问题的介绍中,提示读者路径压缩的加权 quick-union 算法是最佳的 union-find 解法,而没有对该算法进行成本分析(只是给出了一个介绍),因为作者认为这已经不属于该书所需要介绍的内容了,所以,对于读者,应该在其他书本(也许是《算法导论》)中寻找如“路径压缩的加权 quick-union 算法为什么是最优的?”这类问题的解答。

这一点并不总是显而易见,人常常是追求准确的,往往不知觉间就陷入了对这类边界问题的“执念”。

另一方面,每本书都需要以一定的知识为前提,对于读者,其最好从别的书本中寻求有关前提的更多信息。举个夸张点的例子,我们在学习高等数学的时候不应该怀疑 1+1=2 的正确性,而应该以此类前提为基础,学好高等数学方面的知识。等到的确觉得有确认该前提是否正确的必要性的时候,再去怀疑它。

换句话说,其实就是“抓重点”——弄懂优先队列比记住等比数列求和公式更重要。

posted @ 2022-03-10 19:52  Higurashi-kagome  阅读(59)  评论(0编辑  收藏  举报