前言
“数据结构”是设计系统软件及大型应用软件的重要基础,对于构建高效的算法起着决定性的作用。“数据结构”课程作为计算机专业的重要核心课程,对培养学生的计算思维和系统分析与设计、算法设计与分析、程序设计与实现等学科基本能力起着至关重要的作用。本书将现代信息技术与传统教育教学方法紧密融合,通过微课的形式阐述数据结构课程中的重点、难点,突破传统教学模式的束缚,建立立体化的教学资源,形成新的知识传授模式。本书在促进教学理念更新,推动高等教育教学方式方法和学习方式的创新方面做了重要尝试。本书旨在使教学与学习过程朝着教学方式混合化、教学资源开放化、学生学习个性化、学习过程社会化方向转变,对于帮助学生进行自主式和研究性学习具有重要意义。
本书以计算机类和信息类学科人才为培养目标,以教学认知规律为编写依据,以“理论、实践、理论与实践相结合”为编写原则。全书共分10章,第1章介绍数据结构课程的研究内容和关键问题;第2章至第4章介绍线性表、堆栈和队列、数组和字符串等线性结构的基本概念及常用算法;第5章至第9章介绍非线性结构的树、散列表、图等数据结构以及相关算法和应用;第10章主要讨论排序的各种实现方法及其综合分析比较。附录部分为上机实验内容,指导学生按软件工程的方法设计与编写程序。
本书条理清楚,内容翔实,用词达意,深入浅出,并且配有大量的实例和图示。本书把数据结构的基本概念和常用算法的设计、应用与程序紧密结合,书中算法都有完整的C语言程序,程序代码注释详细。本书提供了丰富的习题,并在各章中对重点难点内容配备了微课视频,使读者更具体、更深刻地理解各种常用的数据结构及它们与算法之间的关系,以达到学以致用的目的。
本书的参考学时为48~64学时,以56学时为例给出各章的参考教学课时,课时分配如下表。
本书可作为计算机类专业或信息类相关专业的本科教材,也可以作为报考相关专业硕士研究生入学考试的复习用书,还可以供从事计算机类工程与应用工作的科技工作者学习参考。
本书由王海艳主编,并编写第1、6章,骆健编写第2、9章,朱洁编写第4、10章,邹志强编写第7、8章,戴华编写第3章,徐鹤编写第5章,王甦编写附录综合实验。此外,本书的编写得到南京邮电大学教务处及计算机学院的支持和帮助,在此对学校的支持和同事特别是《数据结构》课程组的各位前辈、各位课程组成员的鼓励表示衷心的感谢。
由于编者水平和经验有限,书中难免有欠妥和错误之处,恳请读者批评指正。
编者
2017年7月