本书第1版自2005年7月出版以来,国内有近100所院校将本书作为主讲教材,在此感谢读者的认可!本书之所以在全国范围内得到广泛应用和好评,我们认为在多年讲授数据结构课程的基础上,对教材进行了以下正确设计。
1. 定位准确,合理规划教学内容。能够抓牢核心概念,提炼基础性内容,侧重工程实践,减少形式化描述,注重算法设计与程序实现。
2. 遵循认知规律,理清教学主线。能够结合教学对象分析课程特点,根据学生的认知规律,按照从已知到未知的思维进程逐步推进教学内容,知识单元的拓扑结构安排合理,主线清晰。
3. 以知识为载体,注重能力培养。能够注意引导思维,通过讲思路讲过程讲方法,展现问题的求解过程。以算法为例,按照“提出问题→分析问题→解决问题”的过程,采用“图示理解→伪代码描述算法→C++描述算法”的三级模式,培养计算思维能力。精心安排的人物小传和思想火花,激发学习兴趣,对学生的思维方式产生有益的影响。
4. 分析难点,针对处理。针对数据结构内容抽象的特点,全书共设计了250多个插图,大量的插图将抽象的内容进行了具体化处理,降低了理解问题的复杂性。数据结构的实现需要较强的C++语言的应用能力,本书的抽象数据类型用“类+结构体”的形式实现,既解释了数据结构的本质内容,又简化了程序设计。
5. 立体化教材保证教学的有效实施。本套教材包括主教材、教师用书、学习辅导和习题解析、实验指导、考研辅导、电子课件、教学网站等,是真正意义上的立体化教材。
本书第2版主要进行了如下修订:第1版的体例和主要内容保持不变;根据《计算机学科专业硕士研究生入学考试基础综合考试大纲》对内容略有增删,增加了基数排序,删去了广义表;第2章~第6章每章增加了两个应用举例;将第0章预备知识移到了附录中;教材配套的教学网站运行良好,将随书光盘和综合实例的相关内容移到了教学网站上;将模板的数据类型由T改为DataType,增强了可读性;逻辑序号均从1开始,数组下标均从0开始,所有例外均是为了简化算法且做了说明,例如,图的编号从0开始,排序算法0号单元用作暂存单元,顺序查找算法0号单元用作监视哨。
由于作者的知识和写作水平有限,虽然秉着认真负责的态度并尽了最大努力,仍难免有缺点和错误,欢迎专家和读者批评指正。
作者的邮箱是wanghm@mail.cut.edu.cn.
教学网站的地址是http://jsj.ccut.edu.cn/sjjg.
作 者
2011年5月