在信息化社会的今天,计算机及其网络给人类社会、人们的生活和学习等方方面面带来了巨大的影响,随之而来的是社会对信息技术型人才的需求量也越来越大,而信息技术型人才的培养又是高等学校人才培养的重要组成部分,本教材就是基于培养信息化人才的需要而编写的。
数据结构是计算机科学的算法理论基础和软件设计的技术基础,主要研究信息的逻辑结构及其基本操作在计算机中的表示和实现。因此,数据结构不仅是计算机专业的一门核心课程,而且也是其他理工科专业的热门选修课。学会分析研究计算机加工的数据对象的特性,能够选择合适的数据结构、存储结构和相应的算法并加以实现,是计算机工作者和其他科技工作者不可缺少的知识和能力。
数据结构课程内容抽象,知识丰富,隐藏在各章节内容中的方法和技术多。编者长期从事数据结构课程的教学,对课程的教学特点和知识的难点有比较深切的体会,本书中,作者对多年来形成的数据结构课程的教学内容进行了合理的剪裁和重组,既强调数据结构的原理和方法,又特别注重其实践性与实用性。
书中介绍了各种常用的数据结构和它们在计算机中的存储表示,讨论了在这些数据结构上的基本运算(操作)和实际的执行算法,简要介绍了算法的时间分析和空间分析的技巧,并阐述了各种常用数据结构内涵的逻辑关系。
本书共包含9章。第1章为概论; 第2~4章分别介绍线性表、栈、队列和串等几种基本的数据结构,它们都属于线性结构; 第5~7章分别介绍多维数组、广义表、树和图等非线性结构; 第8章和第9章分别介绍查找和排序,它们都是数据处理中需要广泛使用的技术。
本书的特色是深入浅出,注重基本理论、基本知识和基本技能,每一章的开头都配有本章要点和本章学习目标,且思想性、科学性、启发性贯穿于所有章节。它的教学要求是: 让学生学会分析和研究计算机加工的数据结构的特性,为应用的数据选择恰当的逻辑结构、存储结构及相应的算法,并初步掌握算法的时间分析和空间分析技术,在学习中训练程序设计的能力。书中配有大量的例题和详尽的注释,每一章的末尾处都配有本章小结,并配置了大量的不同类型的习题。书中自始至终使用C语言来描述算法和数据结构,各章的程序都在CFree 3.5或Visual C++ 6.0中调试通过,以方便读者在计算机上进行实践,有助于理解算法的实质和基本思想。
本书可作为计算机专业本科学生的教材,其内容可以讲授一个学期。将本书用作其他相关专业本科学生的教材,或用作计算机专业专科学生的教材,或用作成人教育学员的教材时,建议讲授教师根据实际情况适当删减教材内容(带“*”部分)。在整个教学过程中,除了理论教学以外,上机实践也是一个不可缺少的环节,与本书配套的《数据结构实验教程(C语言版)》也将由清华大学出版社正式出版。
另外,本书也可供从事计算机应用等工作的工程技术人员参考,只需掌握C语言编程的基本技术就可以学习本书。
本书是在2009年第1版的基础上修订而成的。
由于编著者水平有限、时间仓促,书中难免存在一些不足之处,殷切希望广大读者批评指正。
编者
2012年12月
more >