前言
前言
党的二十大报告指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。
在社会信息化的今天,社会对信息技术型人才的需求量越来越大,而信息技术型人才的培养又是高等学校人才培养的重要组成部分。本书就是基于培养信息化人才的需要而编写的。
“数据结构”是计算机科学的算法理论基础和软件设计的技术基础,主要研究信息的逻辑结构及其基本操作在计算机中的表示和实现。因此,“数据结构”不仅是计算机专业的一门核心课程,也是其他理工科专业的热门选修课。学会研究、分析计算机加工的数据对象的特性,能够选择合适的数据结构、存储结构和相应的算法并加以实现,是计算机工作者和其他科技工作者不可缺少的知识和能力。
“数据结构”课程内容抽象,知识丰富,隐藏在各章节内容中的方法和技术多。编者长期从事“数据结构”课程的教学,对课程的教学特点和知识的难点有比较深切的体会。在本书中,编者对多年来形成的“数据结构”课程的教学内容进行了合理的剪裁和重组,既强调数据结构的原理和方法,又特别注重其实践性与实用性。
本书介绍了各种常用的数据结构和它们在计算机中的存储表示,讨论了在这些数据结构上的基本运算(操作)和实际的执行算法,简要介绍了算法的时间分析和空间分析的技巧,并阐述了各种常用数据结构内涵的逻辑关系。
本书共分9章。第1章为概论; 第2~4章分别介绍线性表、栈、队列和串等几种基本的数据结构,它们都属于线性结构; 第5~7章分别介绍多维数组、广义表、树和图等非线性结构; 第8章和第9章分别介绍查找和排序,它们都是数据处理中需要广泛使用的技术。
本书的特色是深入浅出,注重基本理论、基本知识和基本技能,每一章的开头都配有本章要点和本章学习目标,且思想性、科学性、启发性贯穿所有章节。它的教学要求是: 让学生学会分析和研究计算机加工的数据结构的特性,为应用的数据选择恰当的逻辑结构、存储结构及相应的算法,并初步掌握算法的时间分析和空间分析技术,在学习中提高程序设计的能力。书中配有大量的例题和详尽的注释,每一章的末尾处都有本章小结和不同类型的习题。书中自始至终使用C语言来描述算法和数据结构,各章的程序都在CFree 4.0或Visual C++ 6.0中调试通过,以方便读者在计算机上进行实践,有助于理解算法的实质和基本思想。
本书提供教学课件,扫描封底的“图书资源”二维码,在公众号“书圈”下载。
本书可作为计算机专业的教材,其内容可以讲授一个学期。若将本书用作其他相关专业的教材时,建议授课教师根据实际情况适当删减教材内容(带“*”部分)。本书也可供从事计算机应用等工作的工程技术人员参考,读者只需要掌握C语言编程的基本技术就可以学习本书。
在教学过程中,除了理论教学以外,上机实践也是一个不可缺少的环节,与本书配套的《数据结构实验教程(C语言版)》也由清华大学出版社出版。
由于编者水平有限,书中难免存在不足之处,殷切希望广大读者批评指正。
编者
2024年7月