更新时间:2023-07-17 20:03:42
封面
版权信息
内容简介
前言
第1章 数据结构与算法概述
1.1 为什么要学习数据结构
1.2 基本概念和术语
1.3 数据的逻辑结构与存储结构
1.3.1 逻辑结构
1.3.2 存储结构
1.4 抽象数据类型及其描述
1.4.1 什么是抽象数据类型
1.4.2 抽象数据类型的描述
1.5 算法
1.5.1 数据结构与算法的关系
1.5.2 什么是算法
1.5.3 算法的5大特性
1.5.4 算法的描述
1.6 算法分析
1.6.1 算法设计的4个目标
1.6.2 算法效率评价
1.6.3 算法时间复杂度
1.6.4 算法的空间复杂度
1.7 学好数据结构的秘诀
1.8 习题
第2章 线性表
2.1 线性表的定义及抽象数据类型
2.1.1 线性表的定义
2.1.2 线性表的抽象数据类型
2.2 线性表的顺序表示与实现
2.2.1 线性表的顺序存储
2.2.2 顺序表的基本运算
2.2.3 基本操作性能分析
2.2.4 顺序表应用举例
2.3 线性表的链式表示与实现
2.3.1 单链表的存储结构
2.3.2 单链表上的基本运算
2.3.3 单链表应用举例
2.3.4 循环单链表
2.3.5 双向链表
2.4 一元多项式的表示与相乘
2.4.1 一元多项式的表示
2.4.2 一元多项式相乘
2.5 小结
2.6 习题
第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.3 栈与递归
3.3.1 递归
3.3.2 消除递归
3.4 队列的表示与实现
3.4.1 队列的定义
3.4.2 队列的抽象数据类型
3.4.3 顺序队列
3.4.4 顺序循环队列
3.4.5 双端队列
3.4.6 链式队列
3.4.7 链式队列的实现
3.5 队列的应用
3.5.1 队列在杨辉三角中的应用
3.5.2 队列在回文中的应用
3.6 小结
3.7 习题
第4章 串、数组与广义表
4.1 串的定义及抽象数据类型
4.1.1 什么是串
4.1.2 串的抽象数据类型
4.2 串的存储表示
4.2.1 串的顺序存储结构
4.2.2 串的链式存储结构
4.2.3 顺序串应用举例
4.3 串的模式匹配
4.3.1 朴素模式匹配算法——Brute-Force
4.3.2 改进算法—KMP算法
4.3.3 模式匹配应用举例
4.4 数组的定义及抽象数据类型
4.4.1 数组的基本概念
4.4.2 数组的抽象数据类型
4.4.3 数组的顺序存储结构
4.4.4 特殊矩阵的压缩存储
4.4.5 稀疏矩阵的压缩存储
4.5 广义表
4.5.1 什么是广义表
4.5.2 广义表的抽象数据类型
4.5.3 广义表的头尾链表表示
4.5.4 广义表的扩展线性链表表示
4.6 小结
4.7 习题
第5章 树
5.1 树的定义和抽象数据类型
5.1.1 树的定义
5.1.2 树的逻辑表示