标题：数据结构答疑解惑与典型题解
图书信息
出版社: 北京邮电大学出版社; 第1版 (2010年9月1日)
丛书名: 高等院校“十二五”核心课程辅导丛书
平装: 278页
正文语种: 简体中文
开本: 16
ISBN: 7563522867, 9787563522866
条形码: 9787563522866
尺寸: 25.4 x 18.4 x 1.4 cm
重量: 440 g
内容简介
《数据结构(C++版)答疑解惑与典型题解》是为熟悉C++编程的读者学习数据结构而编写的教学辅导书，可帮助读者复习课程的基本内容，并学会用C++使用相应的数据结构实现一定的算法和解决一些实际应用问题，力争使读者在学完《数据结构(C++版)答疑解惑与典型题解》之后，在课程的理解和掌握方面达到一个新的高度，《数据结构(C++版)答疑解惑与典型题解》也可供从事本课程教学的教师参考书。
《数据结构(C++版)答疑解惑与典型题解》共分十章，包括数据结构概述、线性表、栈和队列、串和字符串、数组和广义表、树和二义树、图、查找、排序，在全书最后给出了一套模拟试题及参考答案。
《数据结构(C++版)答疑解惑与典型题解》每章内容均包括各基本知识点的要点归纳，并精选一些经典数据结构书中的经典例题（包括课程考试试题、主流教材课后难题以及考研真题），给出了解题思路和分析方法，题后提示了解题中应注意的问题。力争使读者在尽可能短的时间内，巩固课程基本概念，加深理解数据结构的基本知识并融会贯通，熟练掌握基本的编程方法并举一反三，不断提高读者的C++编程能力和利用各种数据结构解决实际问题的能力。
《数据结构(C++版)答疑解惑与典型题解》可供学习数据结构课程（C++版）的读者以及考研读者和从事课程教学的教师参考。
目录
第1章 数据结构基本概念
1.1 答疑解惑
1.1.1 为什么要用数据类型来描述数据结构?
1.1.2 何为抽象数据类型(ADT)?
1.1.3 算法和程序有何区别?
1.1.4 怎样理解数据的逻辑结构和存储结构?
1.1.5 怎样理解数据结构在计算机课程中的核心地位?
1.1.6 如何计算算法的时间复杂度?
1.1.7 如何评价算法的好坏?
1.2 典型题解
题型1 数据结构基础知识
题型2 时间与空间复杂度的计算
第2章 线性表
2.1 答疑解惑
2.1.1 如何理解线性表数据结构?
2.1.2 线性表的顺序存储结构和链式存储结构的区别是什么?
2.1.3 带头结点的单链表和不带头结点的单链表的区别是什么?
2.1.4 链表的指针修改的次序对结果的影响是什么?
2.1.5 各种链表存储结构的特点是什么?
2.1.6 如何利用循环单链表实现队列的操作?
2.1.7 如何应用线性表?
2.1.8 顺序表的声明和基本运算用C++如何描述?
2.2 典型题解
题型1 线性表的基本概念
题型2 线性表的存储结构
题型3 链表的插入和删除
题型4 线性表元素查找
题型5 递归
题型6 归并
题型7 单链表的应用
题型8 其他链表及应用
第3章 栈与队列
3.1 答疑解惑
3.1.1 怎样理解栈?
3.1.2 栈的顺序存储结构和链式存储结构的区别是什么?
3.1.3 在进行人栈和出栈时应注意的问题是什么?
3.1.4 如何理解多栈的作用?
3.1.5 两个栈如何共享同一存储空间?
3.1.6 如何应用栈?
3.1.7 怎样理解队列?
3.1.8 如何处理循环队列中的边界条件?
3.1.9 队列的顺序存储结构和链式存储结构的区别是什么?
3.1.10 如何理解双队列的作用?
3.1.11 如何应用队列?
3.2 典型题解
题型1 栈和队列的基本概念
题型2 栈和队列的基本操作
题型3 栈和队列的状态分析
题型4 递归算法和递归工作栈
题型5 用栈求表达式的值
题型6 栈和队列的应用
第4章 串
4.1 答疑解惑
4.1.1 怎样理解串?
4.1.2 串的顺序存储结构和链式存储结构的优缺点是什么?
4.1.3 串的基本操作
4.1.4 怎样用共享堆求子串?
4.1.5 如何理解KMP算法?
4.1.6 串有何应用?
4.2 典型题解
题型1 串的性质和存储
题型2 串的基本运算
题型3 串的模式匹配
第5章 数组与广义表
5.1 答疑解惑
5.1.1 数组存储地址如何确定?
5.1.2 对称矩阵如何压缩存储?
5.1.3 对称矩阵的地址计算公式是什么?
5.1.4 三角矩阵如何压缩存储?
5.1.5 对角矩阵的概念是什么?
5.1.6 稀疏矩阵的三元组存储结构如何理解?
5.1.7 如何灵活运用广义表的表头和表尾操作?
5.1.8 如何由广义表表示得到其动态存储表示?
5.1.9 如何由广义表的动态存储表示求广义表表示?
5.1.10 广义表如何运算?
5.1.11 如何理解广义表表示和二叉树的内在联系?
5.2 典型题解
题型1 多维数组
题型2 特殊矩阵
题型3 稀疏矩阵
题型4 广义表
第6章 树与二叉树
6.1 答疑解惑
6.1.1 树的递归定义如何理解?
6.1.2 如何理解树的性质和基本概念?
6.1.3 如何理解二叉树的性质及其推广?
6.1.4 如何理解二叉树遍历的非递归?
6.1.5 如何理解线索二叉树实现二叉树的非递归?
6.1.6 如何理解二叉树中序线索化的算法?
6.1.7 二叉树与树或森林转换的目的是什么?
6.1.8 建立二又树有哪些方法?
6.1.9 森林的两种遍历都是哪些?
6.1.10 如何理解广义表表示和二叉树的内在联系?
6.1.11 哈夫曼树的建立和哈夫曼编码的构造?
6.1.12 如何用二又树表示表达式?
6.2 典型题解
题型1 树的性质
题型2 二叉树的性质
题型3 条件运算
题型4 二叉树的遍历
题型5 根据遍历结果还原树
题型6 线索二叉树
题型7 树与森林
题型8 树与森林
第7章 图
7.1 答疑解惑
7.1.1 如何理解图的定义?
7.1.2 如何理解图的各种存储结构?
7.1.3 如何理解图的遍历?
7.1.4 如何理解图遍历的非递归算法?
7.1.5 如何理解图的最小生成树?
7.1.6 如何用图的框架及其遍历方法解决背包问题?
7.1.7 如何理解拓扑排序的作用?
7.1.8 如何理解Dikstra算法和F1oy算法的优缺点?
7.1.9 如何理解关键路径?
7.1.10 图的应用有哪些?
7.2 典型题解
题型1 图的基本概念
题型2 图的存储结构
题型3 图的遍历
题型4 图的生成树
题型5 图的最短路
题型6 图的拓扑排序
题型7 图的应用
第8章 查找
8.1 答疑解惑
8.1.1 如何理解查找的基本概念?
8.1.2 如何理解顺序查找中的监视哨作用?
8.1.3 如何理解平均查找长度?
8.1.4 折半查找的前提条件及其优缺点有哪些?
8.1.5 什么情况下使用分块查找
8.1.6 二叉排序树的特点有哪些?
8.1.7 如何调整平衡二叉树?
8.1.8 深刻理解B一树的定义及其动态调整
8.1.9 如何理解散列表的性质?
8.1.10 如何理解散列表的冲突?
8.1.11 常用的散列函数有哪些?
8.2 典型题解
题型1 顺序查找
题型2 二分查找
题型3 一维数组元素的移动
题型4 一维数组的排序
题型5 平衡二叉树
题型6 B树
题型7 哈希表
第9章 排序
9.1 答疑解惑
9.1.1 如何理解排序算法的稳定性?
9.1.2 内部排序和外部排序有什么区别?
9.1.3 如何将顺序存储结构上的排序算法移植到链表上?
9.1.4 希尔排序为何比一般的插入排序要高效?
9.1.5 如何理解堆排序?
9.1.6 如何在r进制下运用基数排序?
9.1.7 如何合理地采用适当的内部排序方法?
9.1.8 如何在^路归并方法中使用败者树?
9.2 典型题解
题型1 排序基本概念
题型2 插人排序
题型3 冒泡排序
题型4 选择排序
题型5 归并排序
题型6 基数排序
题型7 各种内部排序的比较
题型8 外部排序
第10章 课程测试与考研真题
10.1 课程测试
10.2 考研真题
10.3 课程测试解析
10.4 考研真题解析
参考文献