内容简介
《数据结构教程(第3版)》是第2版的修订版。修订版继续保持了第2版的基本框架和表达风格,对其中部分内容做了增删与补充,尤其是增加了大量的习题和解答。书中按照“数据结构”课程教学大纲系统地讨论了数据的各种逻辑结构、存储结构以及在这些结构的基础上对数据所实施的操作。全书仍然分为11章。本书不仅可以作为高等学校计算机专业和其他相关专业本科学生的学习用书,也可以作为计算机软件开发人员的参考资料,更是报考高等院校计算机专业硕士研究生的考生考前重要的复习资料。
前言/序言
随着计算机科学与技术的迅速发展,“数据结构”作为一门新兴学科,已经越来越受到计算机界的重视,被认为是计算机领域的一门十分重要的基础学科。从课程性质上说,“数据结构”是高等学校计算机专业重要的专业基础课程之一。它作为计算机程序设计的灵魂,为计算机系统软件和应用软件的设计与开发提供必要的方法性的理论指导。《数据结构教程(第2版)》一书自出版以来,得到了广大读者的认可与好评。由于作者水平所限,加上计算机技术的发展日新月异,第2版图书在内容的选取与充实方面存在进一步改进和完善的需要。本着适用与实用的原则,并结合读者的使用情况,在征询和听取了部分读者的意见和建议之后,作者对第2版进行了修正和补充,形成了今天的《数据结构教程(第3版)》。第3版秉承第2版的思路,仍然将全书分为11章,系统地讨论了各种数据结构的基本概念和相关操作。其中,第1章绪论简要介绍数据结构与算法的基本概念、算法描述与分析的基本方法;第2章线性表,主要讨论线性表的基本概念、线性表的顺序存储结构与链式存储结构的构造原理,以及在这两种存储结构的基础上对线性表实施的基本操作;第3章重点讨论数组的基本概念,以及几种特殊矩阵的压缩存储方法;第4章讨论堆栈和队列这两种操作受限制的线性表,包括堆栈和队列的基本概念、存储结构,以及基本操作的实现;第5章简要讨论广义表的概念和存储方法;第6章讨论字符串这一非数值数据结构;第7章讨论树形结构的基本概念,包括名词术语、存储结构,以及在二叉链表存储结构基础上对二叉树实施的基本操作;第8章讨论图结构的基本概念,重点讨论图的存储方法以及几种常用算法;第9章讨论查找的基本概念和几种常用的查找方法及其时空效率分析;第10章内排序,详细讨论几种常用的内排序方法及其性能分析;第11章外排序,主要讨论如何在计算机内存与外存之间进行数据组织与数据调动来实现排序。本书取材广泛,内容丰富,表达清晰,对“数据结构”课程中的重点和难点内容进行了较为深入细致的分析,对于一些经典算法、重点算法及其应用进行了详细的讨论,目的是使读者能够更好地掌握各种数据结构的应用。书中涉及的算法采用C语言函数描述,除个别算法外,大多数算法无须经过修改即可被其他函数调用。“数据结构”课程是一门实践性较强的课程。本着这一认识,第3版依旧遵循着重基础与注重应用的原则,在第2版的基础上,在讨论具体内容的过程中适时增加了一些算法实例,旨在进一步增强读者对课程中相关概念和内容的理解。值得说明的是,第3版对第2版的习题作了较大幅度的更改,替换了第2版中的大部分习题,新习题量超过60%;大量新习题的出现增加了全书的习题量,并且在书的后部对绝大部分习题都给出了相应的分析与参考答案。可以说,阅读过本书并独立完成习题的读者,都能够比较容易地掌握课程所要求的基本概念、基本技术与基本方法。本书不仅可以作为高等学校计算机专业和其他相关专业本科学生的学习用书,也可以用作从事计算机系统软件和应用软件设计与开发人员的参考资料。本书的课内讲授时间建议为50~70学时,也可以根据具体情况和不同要求对内容做某些增减(如书中带*号的章节),以适合不同层次的读者。由于书中习题参考了近年来国内众多高等院校计算机专业硕士研究生入学考试以及硕士研究生入学考试计算机专业基础综合全国联考试题,因此,本书也可以作为报考高等院校计算机专业硕士研究生的考生考前复习的重要资料。“数据结构”课程属于一门年轻的学科。随着计算机技术的飞速发展,课程的内容仍然在不断变化与更新,加上作者水平有限,书中某些地方可能考虑不周,一些内容的描述和表达尚待改进,疏漏与错误一定存在,恳请读者批评指正,并给予宝贵意见和建议。
作者2017年2月于北京
数据结构教程(第3版) 电子书 下载 mobi epub pdf txt