数据结构教程(第3版)(重点大学计算机专业系列教材)
分類: 图书,计算机/网络,数据库,数据库理论,
作者: 李春荣等编著
出 版 社: 清华大学出版社
出版时间: 2009-3-1字数:版次: 3页数: 355印刷时间:开本: 16开印次: 1纸张:I S B N : 9787302193791包装: 平装编辑推荐
本教程是作者针对数据结构课程概念多、算法灵活和抽象性强等特点,在总结长期教学经验的基础上编写的。在前两版的基础上,针对教育部新的考研大纲和大量读者来信提出的要求进行了修订。本书内容包括绪论、线性表、栈和队列、串、数组和广义表、递归、树形结构、图、查找、内排序、外排序和文件,还给出了3个综合实验题、实验报告格式、引用型参数的说明、顺序表和顺序栈以及顺序队列使用指针引用型参数的说明、书中部分算法清单、2009年全国计算机专业数据结构考研大纲。
内容简介
本书在前两版的基础上,针对教育部新的考研大纲和大量读者来信提出的要求进行了修订。本书内容包括绪论、线性表、栈和队列、串、数组和广义表、递归、树形结构、图、查找、内排序、外排序和文件,还给出了3个综合实验题、实验报告格式、引用型参数的说明、顺序表和顺序栈以及顺序队列使用指针引用型参数的说明、书中部分算法清单、2009年全国计算机专业数据结构考研大纲。
本书适合高等院校计算机及相关专业本科生及研究生使用。
目录
第1章 绪论
1.1 什么是数据结构
1.1.1 数据结构的定义
1.1.2 逻辑结构类型
1.1.3 存储结构类型
1.1.4 数据结构和数据类型
1.2 算法及其描述
1.2.1 什么是算法
1.2.2 算法描述
1.3 算法分析
1.3.1 算法设计的目标
1.3.2 算法效率分析
1.3.3 算法存储空间分析
1.4 数据结构+算法=程序
本章小结
练习题1
上机实验题1
第2章 线性表
2.1 线性表及其逻辑结构
2.1.1 线性表的定义
2.1.2 线性表的抽象数据类型描述
2.2 线性表的顺序存储结构
2.2.1 线性表的顺序存储结构——顺序表
2.2.2 顺序表基本运算的实现
2.3 线性表的链式存储结构
2.3.1 线性表的链式存储结构——链表
2.3.2 单链表基本运算的实现
2.3.3 双链表
2.3.4 循环链表
2.4 线性表的应用
2.5 有序表
本章小结
练习题2
上机实验题2
第3章 栈和队列
3.1 栈
3.1.1 栈的定义
3.1.2 栈的顺序存储结构及其基本运算实现
3.1.3 栈的链式存储结构及其基本运算的实现
3.1.4 栈的应用举例
3.2 队列
3.2.1 队列的定义
3.2.2 队列的顺序存储结构及其基本运算的实现
3.2.3 队列的链式存储结构及其基本运算的实现
3.2.4 队列的应用举例
本章小结
练习题3
上机实验题3
第4章 串
4.1 串的基本概念
4.2 串的存储结构
4.2.1 串的顺序存储结构——顺序串
4.2.2 串的链式存储结构——链串
4.3 串的模式匹配
4.3.1 Brute-Force算法
4.3.2 KMP算法
本章小结
练习题4
上机实验题4
第5章 数组和广义表
5.1 数组
5.1.1 数组的基本概念
……
第6章 递归
第7章 树和二叉树
第8章 图
第9章 查找
第10章 内排序
第11章 外排序
第12章 文件
第13章 采用面向对象的方法描述算法
附录A 综合实验题
附录B 实验报告格式
附录C 引用型参数的说明
附录D 顺序表、顺序栈和顺序队列使用指针引用型参数的说明
附录E 书中部分算法清单
附录F 全国计算机专业数据结构考研大纲
参考文献
书摘插图
第1章绪论
“数据结构”是计算机及相关专业的专业基础课之一,是一门十分重要的核心课程,主要学习用计算机实现数据组织和数据处理的方法。它也为计算机专业的后续课程(如操作系统、编译原理、数据库原理和软件丁程等)的学习打下了坚实的基础。
另外,随着计算机应用领域的不断扩大,非数值计算问题占据了当今计算机应用的绝大多数,简单的数据类型已经远远不能满足需要,各数据元素之间的复杂联系已经不是普通数学方程式所能表达的了,无论设计系统软件还是应用软件都会用到各种复杂的数据结构。因此,掌握好数据结构课程的知识,对于提高解决实际问题的能力将会有很大的帮助。实际上,一个“好”的程序无非是选择一个合理的数据结构和好的算法,而好的算法的选择很大程度上取决于描述实际问题所采用的数据结构,所以,要想编写出“好”的程序,仅仅学习计算机语言是不够的,必须扎实地掌握数据结构的基本知识和基本技能。
……