前 言
计算机编程中加工处理的对象是数据,而数据具有一定的组织结构,对于计算机专业的学生来说,高级语言程序设计、数据结构、算法设计与分析是三门重要的必修课。这三门课程都是教学生如何去编写计算机程序,在学习编写计算机程序的过程中,仅仅了解计算机语言是不够的,还必须掌握数据组织、存储和运算的一般方法。数据结构是程序设计的中级课程,它主要用于培养学生分析数据、组织数据的能力,让学生掌握如何编写效率高、结构好的程序。这便是数据结构课程中将要学习和研究的内容,也是编写计算机程序的重要基础。随着计算机科学技术及其应用的飞速发展,计算机学科的许多领域都发生了根本的变化,因此,数据结构的教学内容和教学方法也在不断更新。但是数据结构课程在计算机技术教育中的地位和作用始终没有改变,所以本课程被列为计算机等相关专业重要的专业基础课程。
本书遵循数据结构课程的教学大纲的要求,详细介绍了各种基本类型的数据结构。第1章介绍了数据结构研究的内容和方法,以及算法和算法分析的基本概念;第2章介绍了线性表;第3章介绍了栈和队列;第4章介绍了串,讨论的是线性结构;第5章介绍了数组及其应用;第6章和第7章分别讨论了树形结构和图状结构;第8章和第9章着重分析了查找技术和排序技术;第10章介绍了文件组织和管理方面的内容。
本书以深入浅出、突出重点、讲深讲透为原则,精选了各章的内容,特别是各章中的应用实例。书中还注重融入抽象数据类型的思想,在讨论一种数据结构时,都采用抽象数据类型的观点进行描述,以便让学生更好地掌握理论知识,提高抽象思维的能力;另一方面,对于数据结构和算法的描述,本书没有使用伪代码,而是采用了大多数学生熟悉的C语言进行描述,每个算法都用C语言的函数形式给出。希望本书能够让学生对数据结构的研究内容有较系统了解,并且能够让学生初步掌握数据结构的研究方法。
学习数据结构的目的是编写高效率的程序。因此,学习本课程的过程也是进行复杂程序设计的训练过程,所以请读者注意上机实习环节。
参与本书编写的人员都是高等院校计算机专业具有丰富教学经验的教师。其中,由程桂卿(湖北工业大学商贸学院)负责全书的统稿工作;第1章和第2章由韩桂华(湖北工业大学商贸学院)编写,第3章由陈灯(湖北工业大学商贸学院)编写,第4章和第5章由孟桂英(沈阳航空航天大学北方科技学院)编写,第6章由王海文(大连工业大学艺术与信息工程学院)编写,第7章由李香菊(东南大学成贤学院)编写,第8章和第10章由赵志鹏(桂林电子科技大学信息科技学院)编写,第9章由李登辉(桂林电子科技大学信息科技学院)编写。
为了方便教学,本书还配有教学课件等教学资源包,任课教师和学生可以登录“我们爱读书”网(www.ibook4us.com)免费注册下载,或者发邮件至hustpeiit@163.com免费索取。
由于编者水平有限,书中难免出现错误和不足,恳请广大读者批评指正。
编 者
2013年5月