第一版前言
数据结构是计算机专业的一门核心课程。在应用计算机解决实际问题时,首先要解决的就是如何将问题以计算机能接受的形式表示出来,然后再将解决问题的方法步骤用计算机能识别的形式告诉计算机,让计算机自动执行求解。这一过程就是人们所说的程序设计过程。“数据结构”课程的内容正是在长期的程序设计实践中提炼、升华而成的,主要研究信息的逻辑结构及其基本操作在计算机中的表示和实现,是计算机科学的算法理论基础和软件设计的技术基础。在计算机专业中数据结构是操作系统、数据库原理、编译原理等后续课程的基础,在计算机专业课程的学习中起着承上启下的作用。
由于数据结构具有概念性强,内容灵活,所涉及数据的组织、存储以及操作的方法比较抽象等特点,因此,对于初学者来说,往往找不到感觉,不知道如何学习这门课,面对习题更是无从下手。作者想借编写本书的机会结合多年讲授本门课程的经验,将各章的知识要点进行归纳和总结,对难以理解的问题进行通俗的讲解和指导,对涉及到重要知识点的典型题目进行分析解答,目的是帮助读者理解数据结构的内容,尽快掌握各种数据结构的表示方法及应用实现,同时求解数据结构习题的能力也能有一个明显的提高。
此外,数据结构还是一门实践性很强的课程,只是看书本、做习题是绝对不够的。因此,在数据结构的教学中,除了课堂教学外,每周还应有不少于两个学时的实验课。在数据结构的课程实验中要解决的问题更接近于实际,不同于平时的编写功能单一的“小”算法的练习,实验是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。为此,作者根据数据结构课程内容的需要,给出7个实验题目,并对每个题目提出明确的实验要求,同时还对实验步骤和实验报告进行了规范。
本书与中国铁道出版社出版的《数据结构》教材相配套,主要内容由两部分组成:理论知识与习题解答部分和实验题目与指导部分。其中理论知识与习题解答部分与《数据结构》一书相对应,也分10章,每一章都由内容概述、重点难点指导、典型例题解析以及课后习题选解等部分组成;实验题目与指导部分根据数据结构课程的教学重点,给出7个实验题目,每个实验题目采取了统一的格式,由问题描述、数据结构设计、功能(函数)设计、界面设计、编码实现、运行与测试几个部分组成,为学生提出明确的实验要求,并对实验步骤给予指导。
在本书的编写过程中,参考了一些国内外优秀教材及数据结构习题集和辅导书。刘振鹏、张小莉等老师对本书的编写提出了许多宝贵意见,并给予大力支持,在此表示诚挚谢意。
本书在编写过程中力求概念清晰,表述正确,通俗易懂,便于自学。希望读者通过对本书的学习,能够更全面、更透彻地理解和掌握数据结构这门课程。但由于编者水平有限,书中难免存在疏漏或不妥之处,恳请读者批评指正,编者不胜感激。
编 者
2004年10月