图书目录

目录

第1章绪论

问题引入: 线性结构、树结构、图结构经典问题模型

1.1数据结构概论

1.1.1数据结构的研究对象

1.1.2数据结构的基本概念

1.1.3数据结构的研究内容

1.2算法

1.2.1算法的概念

1.2.2算法的特征

1.2.3算法的描述

1.2.4算法分析及评价

1.3C/C++

1.3.1C/C++中常用的数据类型

1.3.2C/C++语句

应用范例: 人工智能

小结

重点、难点例题解析

综合练习

第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.3.5循环链表

2.3.6静态链表

2.4线性表的应用

应用范例: 约瑟夫环

小结

重点、难点例题解析

综合练习

第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队列的应用

应用范例: 迷宫问题

小结

重点、难点例题解析

综合练习

第4章串

问题引入: 契合匹配

4.1串的定义及基本概念

4.1.1串的定义

4.1.2串的基本运算

4.1.3串的存储结构

4.2串的顺序存储结构

4.2.1顺序串的定义

4.2.2顺序串的基本运算

4.3串的链式存储结构——链串

4.3.1链串的定义

4.3.2链串的基本运算

4.4堆

4.4.1堆的定义

4.4.2串的堆存储算法

4.5串的模式匹配算法

4.5.1BruteForce算法

4.5.2KMP算法

4.5.3next数组及nextval数组

4.6串的应用

应用范例: 网络爬虫中KMP的应用

小结

重点、难点例题解析

综合练习

第5章数组和广义表

问题引入: 矩阵连乘

5.1数组

5.1.1数组的基本概念

5.1.2数组的存储结构

5.2特殊矩阵的压缩存储

5.2.1对称矩阵

5.2.2三角矩阵

5.2.3对角矩阵

5.3稀疏矩阵

5.3.1定义

5.3.2稀疏矩阵的存储方法

5.4应用案例

5.5广义表

5.5.1广义表的定义及逻辑结构

5.5.2广义表的存储

5.5.3广义表的基本运算

应用范例: 语法树的广义表表示

小结

重点、难点例题解析

综合练习

第6章树和二叉树

问题引入: 病毒溯源

6.1树的基本概念

6.1.1树的定义

6.1.2树的基本术语

6.1.3树的逻辑表示方法

6.2二叉树

6.2.1二叉树的概念及特点

6.2.2二叉树的性质

6.2.3二叉树的存储结构

6.2.4二叉树的基本运算及其实现

6.3二叉树的遍历

6.3.1二叉树遍历的概念

6.3.2二叉树遍历的方法

6.3.3二叉树遍历的应用

6.3.4二叉树遍历递归算法

6.3.5二叉树遍历非递归算法

6.4线索二叉树

6.4.1线索二叉树的定义

6.4.2线索二叉树的存储结构

6.4.3线索二叉树的遍历

6.5树和森林

6.5.1树的存储结构

6.5.2树、森林与二叉树的转换

6.5.3树和森林的遍历

6.6哈夫曼树

6.6.1哈夫曼树概述

6.6.2哈夫曼树的构造

6.6.3哈夫曼编码

应用范例: 求解公共祖先问题

小结

重点、难点例题解析

综合练习

第7章图

问题引入: 瓷砖

7.1图的基本概念

7.1.1图的定义

7.1.2图的基本术语

7.1.3图的基本操作

7.2图的存储结构

7.2.1邻接矩阵

7.2.2邻接表

7.2.3十字链表

7.2.4邻接多重表

7.2.5图的存储方法的比较

7.3图的遍历

7.3.1图的遍历的概念

7.3.2深度优先搜索遍历

7.3.3广度优先搜索遍历

7.3.4非连通图的遍历

7.4图的应用

7.4.1最小生成树

7.4.2最短路径

7.4.3拓扑排序

7.4.4AOE网与关键路径

应用范例: 求解最少换车次数问题

小结

重点、难点例题解析

综合练习

第8章查找

问题引入: 图书检索问题

8.1查找的基本概念

8.2静态查找

8.2.1顺序查找

8.2.2二分查找

8.2.3分块查找

8.3动态查找

8.3.1二叉排序树

8.3.2平衡二叉树

8.3.3B树

8.3.4B+树

8.4哈希查找

8.4.1哈希表的基本概念

8.4.2哈希函数的构造方法

8.4.3哈希冲突解决方法

8.4.4哈希表上的运算

应用范例: 图书馆管理系统

小结

重点、难点例题解析

综合练习

第9章排序

问题引入: 学生信息表

9.1排序的基本概念

9.1.1基本概念

9.1.2排序方法的分类

9.1.3待排序序列的存储方法

9.2插入排序

9.2.1直接插入排序

9.2.2希尔排序

9.3交换排序

9.3.1冒泡排序

9.3.2快速排序

9.4选择排序

9.4.1直接选择排序

9.4.2堆排序

9.5归并排序

9.6基数排序

9.7各种排序方法的综合比较

9.8外部排序简介

应用范例: 考试录取中的成绩排序

小结

重点、难点例题解析

综合练习

综合实验指导

实验1形参操作

实验2顺序表操作

实验3单链表操作

实验4栈操作

实验5队列操作

实验6二叉树操作

实验7哈夫曼树操作

实验8图的创建操作

实验9图的遍历操作

实验10图的最短路径操作

实验11查找操作

实验12排序操作

实验13综合课程设计——校园地图导航系统

附录各章综合练习参考答案

参考文献