正在阅读中,如果有什么纰漏会在评论&笔记中给出。
以下是一些感受,不定时完善:
和CLRS相比,简单的多,没有太多的各种复杂分析,适合入门。
英文原版,不用担心渣翻译
不过采用的似乎不是真正的C代码,有时候有点别扭
另外,字体太小了,看久了伤眼睛
抱歉,之前有点激动了。可能主要是标题的原因。主要是"入门级别"这个词。lz在2楼的解释其实只是解释了lz说的入门是什么意思。标题的冲击力确实有那么点大,不免让人“误会”。lz把级别两字去掉就不会导致这种问题了。
至于lz所说的完整性和深度什么的,我也没有说两者直接存在什么强的关系。我无非是说了它的深度和广度都有比较好的表现,所以觉得如果作为基础和深入都是不错的选择。实际上,个人觉得这本书兼顾了入门,广度和深度。就书的厚度上来说,能做到这种程度,它确实非常出众。
表达上的话,鄙人也不是很好,也请见谅了。
~~~~
最后那个错别字抱歉,原本想打成“摊还分析”的(中文版的翻译便是)。
@Earthson 首先对于我说的入门,请参考我在2#的回复。用词不当请见谅,中文不好。至于你的几个观点逻辑性,其实是有偏颇/漏洞的。
首先教材所讲内容的完整性和深度间既不必要也不充分。还有就是introduction的深度每个人的理解不同。这本书相对其他同类型的,在advanced data structures方面的确只能算是introduction级别。
最后de个bug,那个你说的瘫痪分析应该是amortized analysis,一般翻译成摊销分析或者均摊分析,而不是瘫痪分析。
如果你说此书基础,那还能理解。但是仅仅是入门的话,个人觉得也未免太低看它了。
这书的数据结构讲得已经非常完整了(在教材的意义上),至少个人觉得重要的思想应该都涉及了(当然,也不排除我还有什么遗漏)。
算法的话,这书倒确实是入门了点。讲得一般是和数据结构涉及的一些简单算法(不过此书重点原本就在数据结构)。独立出来的完整的也就两章而已。
此外,后面的高级数据结构真的只是停留在介绍的程度么?
首先,看它的说明,给出一个实现是没有问题的。其次,这个部分和前面的部分是承接的关系。倒数第二章的瘫痪分析是从树和优先队列的基础章节衍生出来的。而最后一章,作者也说得很清楚,是之前介绍的数据结构的实用变种(这句话的潜台词是你根据之前学到的思想,理解它们并不会太困难,虽然它们实现起来也许非常复杂)
@Earthson 这本书的分析相对其他书不太严谨,更多在直观上。而且后半部分的牵涉到的advanced data structure更多也只是停留在introduction的程度。要说非入门的部分,就是他的习题了,难度不小而且题量大。
LZ真的看完了么?后面的高级数据结构以及对应的时间复杂度分析,真能叫入门程度么?
严格来说,此书深入浅出,很多部分即便是初学者看都没有问题。但这绝对不代表这书就是入门书,因为它同样涉及很多复杂的高级内容,而且作者一点都不草率,完全没偷工减料的意思。