重新审视数据结构——评《数据结构基础》新版

发在《计算机教育》上,可下载pdf文件

 

http://www.jsjjy.com/info/shownews.asp?newsid=11948

 

摘录(第1节)

 

提起数据结构,大多数人都认为它是一门基础性课程。从某种角度看,数据结构有点像高等数学,一是两者内容大多早已成熟,二是它们都积累了大量习题可供学生练习。这样一来,应试倾向的数据结构课程应运而生,无论是在教学和学习中,这种倾向性都非常明显。比如在链表这部分内容的讲授中,教师一般会给出各种不同的链表变种作为习题。又比如在讨论二叉树遍历时,学生要花费大量精力去学习各种遍历的非递归形式。虽然学习这些内容可以提高逻辑思维能力,但学习数据结构的目的是为程序设计、更是为算法设计而服务,因此其重点应放在如何挑选或设计合适的数据结构,而不是把大量精力花在这些不太实用的细节问题上。

 

另一方面,数据结构还有许多值得研究的问题。许多数据结构不但性能优越,而且构造精巧,不逊于任何一件艺术品,比如二项堆与Fibonacci堆。而发展成熟的数据结构很快便可应用于工业界,如STL中的vector容器。研究人员不但需要设计新的数据结构以获得好的性能,并且还要对它们进行细致的分析以了解其性能极限(即下界问题)。此外,目前有若干专门的学术会议致力于数据结构的设计与分析,如交替举办的The Workshop on Algorithms and Data Structures (WADS)和The Scandinavian Workshop on Algorithm Theory(SWAT)。今年是WADS举办20周年,这也充分说明了数据结构这个经典的主题依然有着蓬勃的生命力。

 

因此,在数据结构的教学过程中,我们需要一本合适的数据结构教材,既能学习到如何使用和选择数据结构,还能深入了解数据结构的设计与分析。

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

P.S.《数据结构基础》一书已经作为研究生入学计算机统考大纲解析的首选参考教材,见大纲解析的参考文献[1]。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值