数据结构与算法分析荣政和严蔚敏版区别

如题所述

严书我有系统地学习过,Mark Allen的书也粗略地读过一些。

这两本书虽然都是数据结构的教科书,但面向的读者类型并不一样。严书通常面向的读者是低年级的本科生,而Mark Allen的书面向的是高年级本科生和研究生。Mark Allen在前言部分也明确地说了这是一本进阶的数据结构教材。

严书基本上是国内使用最为广泛的数据结构教材,也是考研408的官方指定用书。严书全篇的逻辑体系非常清楚,国内出版的其他数据结构的书也都或多或少有严书的影子。它的内容组织是从数据结构的视角开展的。从逻辑结构的角度来看,全书是按从线性结构到非线性结构的思路来进行介绍的。在每一章的具体数据结构的实例里,又按物理结构从数组实现到链表实现来展开,从中穿插少量的算法复杂度分析等理论分析内容。严书把具有明显算法色彩的搜索主题和排序主题单独成章,放在了书的末尾几章,把读者从数据结构角度的视角引领到算法角度的视角,为后续进阶的算法课程做铺垫,这在内容编排上是很科学的。

数据结构和算法二者实际上是密不可分的。算法可以看作是定义在特定数据结构上的操作的序列,许多算法实际上是依托于数据结构的设计才能得以实现的。有不少教材不将二者分开,是将数据结构与算法同时讲述,Mark Allen的这本书就是非常经典的一本。

Mark Allen这本书在数据结构和算法两个角度上同时进行讲述。数据结构的部分不如严书讲得细致,但关键的要点都勾画出来了,代码部分也需要读者进行自行补充。对于高年级本科生和研究生来说,具体的实现不是什么困难的事情,Mark的这种处理方式容易使重点突出,这也是全书内容详实但篇幅不大的原因。Mark Allen这本书在算法部分涉及较为深入,有详细的理论推导和复杂度证明,课后习题里也有一定难度的算法题和算法分析题。除此之外,Mark Allen这本书还涉及到复杂的数据结构,例如左式堆、二项队列、红黑树、斐波那契堆等,这些内容在严书这种面向低年级本科生的教材里基本上是不提及的
温馨提示:答案为网友推荐,仅供参考