微信扫一扫,移动浏览光盘
简介
《数据结构与算法分析》描述了各种类型的数据结构,包括线性表、树、堆、图,以及查找、排序等算法。自始至终将数据结构的基本原理与算法分析紧密结合,强调了算法性能的重要性,并介绍了算法设计技术。主要以C语言描述算法,列举了大量的实例,便于在计算机上实际运行、分析各种算法。每章之后附有习题以备读者进一步练习。
《数据结构与算法分析》逻辑性强、内容新颖、全面,可以作为大专院校计算机专业的教材和参考书,也可供其它理工科专业学生和计算机工程技术人员参考。
目录
第1章基础知识
1.1数据结构与算法
1.2抽象数据类型
1.3C语言程序设计基础
1.3.1数组
1.3.2指针
1.3.3结构体和共用体
1.3.4函数与参数
1.3.5递归函数
1.3.6局部变量和全局变量
习题1
第2章算法分析
2.1算法的定义
2.2空间复杂度
2.3时间复杂度
2.3.1程序步
2.3.2最好、最差和平均性能
2.3.3近似方法(O,Ω,Θ)
2.4时间复杂度的测试
习题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.3队列
3.3.1队列的定义
3.3.2队列的表示与操作
3.3.3环形队列
习题3
第4章树
4.1树的定义
4.2树的表示
4.3二叉树
4.3.1二叉树的定义
4.3.2二叉树的性质
4.3.3二叉树的遍历
4.3.4表达式树的构造
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.6*B-树
4.6.1B-树的组成形式
4.6.2B-树的插入
4.6.3B-树的删除
4.7*集散集合
4.7.1等价关系
4.7.2动态等价问题
4.7.3基本数据结构
4.7.4集合的加权合并
习题4
第5章查找
5.1静态查找
5.1.1概述
5.1.2最优二叉搜索树(Optimal Binary Search Tree)的构造
5.1.3效率分析
5.2动态查找
5.2.1概述
5.2.2AVL树
5.2.3*伸展树Splay tree
5.3哈希映射
5.3.1概述
5.3.2哈希表
5.3.3哈希函数
5.3.4冲突处理
习题5
第6章堆(优先队列)
6.1堆的定义和表示
6.2最大堆
6.2.1最大堆的插入
6.2.2最大堆的删除
6.2.3最大堆的建立
6.3最小-最大堆(Min-Max堆)
6.3.1Min-Max堆的插入
6.3.2Min-Max堆的删除
6.4*左右堆(Deap)
6.4.1Deap的定义
6.4.2Deap的插入
6.4.3Deap中最大元素的删除
6.5*左高堆(Leftist Heaps)
6.5.1左高堆的性质
6.5.2左高堆的操作
习题6
第7章排序
7.1插入排序
7.1.1算法
7.1.2效率分析
7.1.3其他改进
7.2希尔排序
7.2.1算法
7.2.2效率分析
7.3堆排序
7.3.1算法
7.3.2效率分析
7.4快速排序
7.4.1算法
7.4.2效率分析
7.5*比较排序法的最优效率
7.6归并排序
7.6.1算法
7.6.2效率分析
7.7基数排序
7.7.1算法
7.7.2效率分析
7.8*表排序
7.8.1算法
7.8.2效率分析
7.9*外排序
7.9.1概述
7.9.2多路归并
7.9.3并行处理
7.9.4归并段的生成
7.9.5最优归并策略
习题7
第8章图
8.1图的定义
8.2图的表示
8.2.1邻接矩阵法
8.2.2邻接表法
8.3图的遍历
8.3.1深度优先搜索
8.3.2广度优先搜索
8.3.3生成树
8.3.4最小生成树
8.3.5连通分量
8.3.6重连通
8.4拓扑排序
8.5迪克斯特拉(Dijkstra)最短路径算法
8.6关键路径分析
8.7*Euler环问题
8.8*强连通分量
习题8
第9章算法设计技术
9.1贪心法
9.1.1概述
9.1.2连续背包问题
9.1.3作业调度问题
9.1.4哈夫曼(Huffman)编码
9.1.5装箱问题
9.2分治法
9.2.1概述
9.2.2最近点对问题
9.2.3找第k个最小元问题
9.3动态规划
9.3.1概述
9.3.20-1背包问题
9.3.3矩阵连乘问题
9.3.4最长公共子序列问题
9.4回溯法
9.4.1概述
9.4.2八皇后问题
9.4.3点集重构问题
9.4.4回溯法的效率分析
9.5限界剪枝法
9.5.1概述
9.5.2有限期的作业调度问题
9.5.3旅行商问题
9.5.4效率分析
习题9
参考文献
1.1数据结构与算法
1.2抽象数据类型
1.3C语言程序设计基础
1.3.1数组
1.3.2指针
1.3.3结构体和共用体
1.3.4函数与参数
1.3.5递归函数
1.3.6局部变量和全局变量
习题1
第2章算法分析
2.1算法的定义
2.2空间复杂度
2.3时间复杂度
2.3.1程序步
2.3.2最好、最差和平均性能
2.3.3近似方法(O,Ω,Θ)
2.4时间复杂度的测试
习题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.3队列
3.3.1队列的定义
3.3.2队列的表示与操作
3.3.3环形队列
习题3
第4章树
4.1树的定义
4.2树的表示
4.3二叉树
4.3.1二叉树的定义
4.3.2二叉树的性质
4.3.3二叉树的遍历
4.3.4表达式树的构造
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.6*B-树
4.6.1B-树的组成形式
4.6.2B-树的插入
4.6.3B-树的删除
4.7*集散集合
4.7.1等价关系
4.7.2动态等价问题
4.7.3基本数据结构
4.7.4集合的加权合并
习题4
第5章查找
5.1静态查找
5.1.1概述
5.1.2最优二叉搜索树(Optimal Binary Search Tree)的构造
5.1.3效率分析
5.2动态查找
5.2.1概述
5.2.2AVL树
5.2.3*伸展树Splay tree
5.3哈希映射
5.3.1概述
5.3.2哈希表
5.3.3哈希函数
5.3.4冲突处理
习题5
第6章堆(优先队列)
6.1堆的定义和表示
6.2最大堆
6.2.1最大堆的插入
6.2.2最大堆的删除
6.2.3最大堆的建立
6.3最小-最大堆(Min-Max堆)
6.3.1Min-Max堆的插入
6.3.2Min-Max堆的删除
6.4*左右堆(Deap)
6.4.1Deap的定义
6.4.2Deap的插入
6.4.3Deap中最大元素的删除
6.5*左高堆(Leftist Heaps)
6.5.1左高堆的性质
6.5.2左高堆的操作
习题6
第7章排序
7.1插入排序
7.1.1算法
7.1.2效率分析
7.1.3其他改进
7.2希尔排序
7.2.1算法
7.2.2效率分析
7.3堆排序
7.3.1算法
7.3.2效率分析
7.4快速排序
7.4.1算法
7.4.2效率分析
7.5*比较排序法的最优效率
7.6归并排序
7.6.1算法
7.6.2效率分析
7.7基数排序
7.7.1算法
7.7.2效率分析
7.8*表排序
7.8.1算法
7.8.2效率分析
7.9*外排序
7.9.1概述
7.9.2多路归并
7.9.3并行处理
7.9.4归并段的生成
7.9.5最优归并策略
习题7
第8章图
8.1图的定义
8.2图的表示
8.2.1邻接矩阵法
8.2.2邻接表法
8.3图的遍历
8.3.1深度优先搜索
8.3.2广度优先搜索
8.3.3生成树
8.3.4最小生成树
8.3.5连通分量
8.3.6重连通
8.4拓扑排序
8.5迪克斯特拉(Dijkstra)最短路径算法
8.6关键路径分析
8.7*Euler环问题
8.8*强连通分量
习题8
第9章算法设计技术
9.1贪心法
9.1.1概述
9.1.2连续背包问题
9.1.3作业调度问题
9.1.4哈夫曼(Huffman)编码
9.1.5装箱问题
9.2分治法
9.2.1概述
9.2.2最近点对问题
9.2.3找第k个最小元问题
9.3动态规划
9.3.1概述
9.3.20-1背包问题
9.3.3矩阵连乘问题
9.3.4最长公共子序列问题
9.4回溯法
9.4.1概述
9.4.2八皇后问题
9.4.3点集重构问题
9.4.4回溯法的效率分析
9.5限界剪枝法
9.5.1概述
9.5.2有限期的作业调度问题
9.5.3旅行商问题
9.5.4效率分析
习题9
参考文献
数据结构与算法分析:C语言版
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×