数据结构与算法(Java版) / 普通高等教育计算机规划教材
作者: 罗文劼
出版时间:2013年8月
出版社:机械工业出版社
- 机械工业出版社
- 9787111426905
- 190370
- 0044166545-2
- 平装
- 16开
- 2013年8月
- 工学
- 软件工程
- TP311.12
- 计算机及相关专业
- 本科
本书可作为高等院校计算机和信息类相关专业“数据结构”课程的教材,也可作为高职高专同类专业的教学用书及各类工程技术人员的参考用书。
出版说明
前言
第1章 数据结构与算法
1.1 引言
1.1.1 为什么要学习数据结构
1.1.2 数据结构课程的内容
1.2 数据结构的概念
1.2.1 基本概念和术语
1.2.2 抽象数据类型
1.3 数据结构的描述方法
1.3.1 数据结构的C语言描述
1.3.2 数据结构的C++语言描述
1.3.3 数据结构的Java语言描述
1.4 算法
1.4.1 算法及其特征
1.4.2 算法的描述
1.4.3 算法的性能分析
1.5 典型例题
1.6 本章小结
1.6.1 知识点小结
1.6.2 扩展学习导读
练习题
实验题
题目1比较算法复杂性描述函数的
增长
题目2矩阵连乘算法的时间和空间
复杂度
第2章 递归
2.1 引言
2.1.1 问题的提出
2.1.2 什么是递归
2.2 递归调用的实现原理
2.2.1 递归算法的构成
2.2.2 递归调用的内部过程
2.2.3 递归的正确性证明
2.3 递归转化为非递归
2.3.1 递归转化为递推
2.3.2 递归转化为回溯
2.3.3 手工模拟递归
2.4 典型例题
2.5 本章小结
2.5.1 知识点小结
2.5.2 扩展学习导读
练习题
实验题
题目1全排列的递归实现
题目2八皇后问题
题目3比较递归与非递归算法的
时空效率
第3章 线性结构
3.1 引言
3.1.1 问题的提出
3.1.2 线性表的定义
3.1.3 线性表的基本运算
3.2 线性表的顺序存储与实现
3.2.1 顺序表
3.2.2 顺序表上基本运算的实现
3.2.3 顺序表应用举例
3.3 线性表的链式存储与实现
3.3.1 单链表
3.3.2 单链表上基本运算的实现
3.3.3 循环链表
3.3.4 双向链表
3.3.5 链表应用举例
3.4 顺序表和链表的比较
3.5 堆栈
3.5.1 堆栈的定义及基本运算
3.5.2 堆栈的存储及运算实现
3.5.3 堆栈的应用举例
3.6 队列
3.6.1 队列的定义及基本运算
3.6.2 队列的存储及运算实现
3.6.3 队列的应用举例
3.7 其他线性结构及扩展
3.7.1 字符串
3.7.2 数组
3.7.3 特殊矩阵
3.7.4 稀疏矩阵
3.8 典型例题
3.9 本章小结
3.9.1 知识点小结
3.9.2 扩展学习导读
练习题
实验题
题目1Josephus环问题
题目2一元多项式运算
题目3模拟停车场管理
第4章 树结构
4.1 引言
4.1.1 问题提出
4.1.2 相关概念
4.2 二叉树
4.2.1 二叉树的基本运算
4.2.2 二叉树的主要性质
4.2.3 二叉树的存储
4.2.4 二叉树基本运算的实现
4.3 二叉树的遍历
4.3.1 递归方法实现二叉树遍历
4.3.2 非递归方法实现二叉树的
三种遍历
4.3.3 按层次遍历二叉树
4.4 二叉树遍历的应用
4.4.1 构造二叉树的二叉链表存储
4.4.2 在二叉树中查找值为x的
数据元素
4.4.3 统计给定二叉树中叶子结点的
数目
4.4.4 表达式运算
4.4.5 由遍历序列恢复二叉树
4.5 线索二叉树
4.5.1 线索二叉树的定义及其结构
4.5.2 线索二叉树的创建
4.5.3 线索二叉树的遍历
4.6 最优二叉树
4.6.1 最优二叉树的概念
4.6.2 最优二叉树的构造
4.6.3 最优二叉树的应用——哈夫曼
编码
4.7 树
4.7.1 树的基本操作
4.7.2 树的表示
4.7.3 树的存储
4.7.4 树和森林与二叉树之间的
转换
4.7.5 树或森林的遍历
4.7.6 树的应用
4.8 典型例题
4.9 本章小结
4.9.1 知识点小结
4.9.2 扩展学习导读
练习题
实验题
题目哈夫曼编码/译码器
第5章 图结构
5.1 引言
5.1.1 问题的提出
5.1.2 相关概念
5.1.3 图的基本操作
5.2 图的存储
5.2.1 邻接矩阵
5.2.2 邻接表
5.3 图的遍历
5.3.1 深度优先搜索
5.3.2 广度优先搜索
5.3.3 遍历图的简单应用
5.4 生成树和最小生成树
5.4.1 生成树和生成森林
5.4.2 最小生成树
5.4.3 构造最小生成树的Prim算法
5.4.4 构造最小生成树的Kruskal
算法
5.5 最短路径
5.5.1 单源点最短路径——Dijkstra
算法
5.5.2 每一对顶点之间的最短路径
5.6 拓扑排序与关键路径
5.6.1 有向无环图的概念
5.6.2 AOV网与拓扑排序
5.6.3 AOE网与关键路径
5.7 典型例题
5.8 本章小结
5.8.1 知识点小结
5.8.2 扩展学习导读
练习题
实验题
题目校园导游程序
第6章 查找技术
6.1 引言
6.1.1 问题提出
6.1.2 相关概念
6.2 线性表查找
6.2.1 顺序查找
6.2.2 顺序存储的有序表查找
6.3 树结构查找
6.3.1 二叉排序树
6.3.2 平衡二叉树
6.4 散列表查找
6.4.1 基本概念
6.4.2 散列函数的构造方法
6.4.3 处理冲突的方法
6.4.4 散列表的性能分析
6.5 查找方法的比较
6.6 典型例题
6.7 本章小结
6.7.1 知识点小结
6.7.2 扩展学习导读
练习题
实验题
题目1职工信息检索系统
题目2个人图书管理系统
第7章 排序技术
7.1 引言
7.1.1 问题的提出
7.1.2 相关概念
7.2 插入排序
7.2.1 直接插入排序
7.2.2 折半插入排序
7.2.3 希尔排序
7.3 交换排序
7.3.1 冒泡排序
7.3.2 快速排序
7.4 选择排序
7.4.1 简单选择排序
7.4.2 树结构选择排序
7.4.3 堆排序
7.5 归并排序
7.6 基数排序
7.6.1 多关键码排序
7.6.2 链式基数排序
7.7 排序方法比较
7.7.1 性能比较
7.7.2 不同排序方法的适用情况
7.8 典型例题
7.9 本章小结
7.9.1 知识点小结
7.9.2 扩展学习导读
练习题
实验题
题目各种内部排序的性能比较
第8章 扩展应用举例
8.1 求最大子段和
8.1.1 问题描述
8.1.2 问题分析与解决
8.2 表达式树的构造
8.2.1 问题描述
8.2.2 问题分析与解决
8.3 由等价关系求划分
8.3.1 问题描述
8.3.2 问题分析与解决
8.4 本章小结
8.4.1 知识点小结
8.4.2 扩展学习导读
练习题
实验题
题目1模拟银行排队办理业务
题目20-1背包问题
附录
附录A 实验要求
附录B 模拟试卷
模拟试卷一(本科水平)
模拟试卷二(本科水平)
模拟试卷三(研究生入学考试水平)
模拟试卷四(研究生入学考试水平)
附录C2012年全国硕士研究生入学
统一考试计算机科学与技术
学科联考试卷(“数据结构”部分)
参考文献