本书是重点大学的资深教授根据高等学校计算机专业数据结构课程的教学大纲的要求,结合丰富的教学实践、经验编写而成的,通过对概念和习题的讲解和分析,帮助读者了解、掌握数据结构的原理和算法。
本书按照课程的讲授顺序,阐述了线性表、栈和队列、串、数组和稀疏矩阵、递归、广义表、树形结构、图、查找、排序、文件等内容。每章都精选了大量习题,并对习题进行了详细、深入、透彻的分析,使学生充分掌握求解数据结构问题的思想和方法,深化对基本概念的理解,提高分析与解决问题的能力。
本书不仅可以作为计算机专业本、专科学生数据结构课程的学习参考书,也是报考计算机专业硕士研究生的考生必读复习书,同时适合于数据结构课程自学者和计算机等级(三级或四级)考试者研习。
第1章 概述
1.1 基本知识点
1.2 例题分析
第2章 线性表
2.1 基本知识点
2.2 例题分析
第3章 栈和队列
3.1 基本知识点
3.2 例题分析
第4章 串
4.1 基本知识点
4.2 例题分析
第5章 数组和稀疏矩阵
5.1 基本知识点
5.2 例题分析
第6章 递归
6.1 基本知识点
6.2 例题分析
第7章 广义表
7.1 基本知识点
7.2 例题分析
第8章 树形结构
8.1 基本知识点
8.2 例题分析
第9章 图
9.1 基本知识点
9.2 例题分析
第10章 查找
10.1 基本知识点
10.2 例题分析
第11章 排序
11.1 基本知识点
11.2 例题分析
第12章 文件
12.1 基本知识点
12.2 例题分析
参考文献
计算机编程中加工处理的对象是数据,而数据具有一定的组织结构,所以学习编写程序仅仅了解计算机语言是不够的,还必须掌握数据组织、存储和运算的一般方法,这便是数据结构课程中所学习和研究的内容,也是编写计算机程序的重要基础。由于它对计算机学科起到承前启后的作用,因此本课程列为计算机等相关专业最重要的专业基础课程。
由于数据结构的原理和算法较抽象,而该课程一般在本科低年级开设,对于只具有计算机程序设计基础知识的初学者,理解和掌握其中的原理就更困难了,特别是在解答数据结构的习题时,往往感到无从下手。对此,作者在多年的教学中感受颇深。本人通过长期的实践、收集与整理,编写了本书,其目的是:通过对习题的解答,使学生充分掌握数据结构的原理以及求解数据结构问题的思路与方法,深化对基本概念的理解,提高分析与解决问题的能力。
本书遵循全国高等学校计算机专业本科数据结构课程的教学大纲的要求,从内容上分为12章:第1章概述,讨论数据结构的基本概念及相关题解;第2章线性表,讨论顺序表、栈和队列的基本概念及相关题解;第3章链表,讨论各种链表的基本概念及相关题解;第4章串,讨论串的基本概念及相关题解;第5章数组和稀疏矩阵,讨论数组和稀疏矩阵的基本概念及相关题解;第6章递归,讨论基本递归设计方法及相关题解;第7章广义表,讨论广义表的基本概念及相关题解;第8章树形结构,讨论树和二叉树的基本概念及相关题解;第9章图,讨论图的基本概念及相关题解;第10章查找,讨论基本查找方法及相关题解;第11章排序,讨论常用的内排序、外排序方法及相关题解;第12章文件,讨论基本文件组织结构及相关题解。
每章由两部分组成,第一部分简要介绍本章的基本内容,第二部分精选了大量的习题,并予以详细解答,涵盖解题思路和求解的完整过程。这些习题中包含一些高校计算机专业招收硕士研究生的数据结构试题(习题题号后面加有“*”号)。
本书习题覆盖面广,既收集了较容易的题目,也收集了难度适中和难度较高的题目。因此,本书不仅可以作为计算机专业本、专科生数据结构课程的学习参考书,也是报考计算机专业硕士研究生的考生必读复习书,同时适合于数据结构课程自学者和计算机等级(三级或四级)考试者研习。
在编写本书时,作者力求从方法上提高解题的能力,例如,递归问题是学生较难理解,的知识点,但在计算机专业知识中又是经常遇到的问题。为此,作者专门以一章的篇幅(第6章)深入地分析了递归的执行过程,提出了从递归模型到递归设计的步骤。在其他几章中,也采用了类似的解题方法。
由于习题较多,解答上可能存在不准确或不完美之处,内容编排上也可能存在不合理的地方,敬请广大读者批评指正。