数据结构与算法详解目录

数据结构与算法详解是一本以实例和实践为主的图书,主要是经典的数据结构与常见算法案例,来自历年考研、软考等考题,有算法思路和完整的代码,最后提供了C语言调试技术的方法。

后续配套微课视频。

第0章  基础知识.... 2

0.1  基本概念和术语... 2

0.2  数据的逻辑结构与存储结构... 3

0.2.1  逻辑结构... 3

0.2.2  存储结构... 4

0.3  抽象数据类型及其描述... 5

0.3.1  什么是抽象数据类型... 5

0.3.2  抽象数据类型的描述... 5

0.4  算法... 5

0.4.1  数据结构与算法的关系... 6

0.4.2  什么是算法... 6

0.4.3  算法的五大特性... 6

0.4.4  算法的描述... 6

0.5  算法分析... 7

0.5.1  算法设计的4个目标... 7

0.5.2  算法的时间复杂度... 7

0.5.3  算法的空间复杂度... 9

第1章  线性表

1.1  顺序表及其应用

1.1.1  将两个有序的线性表合并
为一个有序的线性表

1.1.2  将两个无序的线性表合并
为一个线性表..

1.1.3  求两个线性表的差集..

1.1.4  分解顺序表,使左边的
元素小于或等于0,右边的
大于

1.1.5  求两个任意长度的整数
之和

1.1.6  求两个元素序列的
中位数.

1.2  单链表及其应用.

1.2.1  逆置单链表... 30

1.2.2  求两个单链表的差集... 34

1.2.3  合并两个单链表... 37

1.2.4  找出单链表表示的两个单词
共同后缀起始地址... 40

1.2.5  找出单链表中倒数第k
位置上的节点... 42

1.3  循环单链表及其应用... 44

1.3.1  分解一个循环单链表为
两个循环单链表... 44

1.3.2  构造3个循环单链表... 47

1.3.3  约瑟夫问题... 50

1.4  双向链表及其应用... 53

1.4.1  双向链表的创建与插入
操作... 55

1.4.2  约瑟夫问题(双向链表)... 58

1.5  线性表的典型应用... 60

1.5.1  将两个一元多项式相加... 60

1.5.2  将两个一元多项式相乘... 65

第2章  栈... 71

2.1  顺序栈及其应用... 71

2.1.1  将元素分别入栈和出栈... 73

2.1.2  共享栈的入栈和出栈操作... 75

2.1.3  求(n,m)的值... 78

2.1.4  求Ackermann(m,n)的值... 80

2.2  链栈及其应用... 83

2.2.1  将十进制数转换为
八进制数... 86

2.2.2  检查表达式中的括号
是否匹配... 88

2.2.3  求算术表达式的值... 90

2.2.4  判断字符串是否中心
对称... 96

第3章  队列.... 98

3.1  顺序队列及其应用... 98

3.1.1  将顺序循环队列中的元素
分别入队和出队... 101

3.1.2  舞伴配对... 104

3.1.3  模拟轮渡管理... 106

3.2  链式队列及其应用... 108

3.2.1  队列在杨辉三角中的
应用... 111

3.2.2  判断字符串是否为回文... 114

3.3  栈和队列的综合应用──停车场
管理... 116

第4章  串.... 126

4.1  顺序串及其应用... 126

4.1.1  利用串的基本运算进行
赋值、插入和删除等操作... 130

4.1.2  将浮点数转换为对应的串... 134

4.1.3  求最长公共子串... 135

4.1.4  求等值子串... 137

4.1.5  将长度为5的单词转换为
大写形式... 138

4.1.6  将小写字母a左、右两边的
串互换... 140

4.2  串的模式匹配... 142

第5章  数组.... 149

5.1  一维数组及其应用... 149

5.1.1  查找第k小元素... 150

5.1.2  将奇数移动到偶数的
左边... 151

5.2  二维数组(矩阵)及其应用... 153

5.2.1  输出魔方阵... 153

5.2.2  输出内螺旋矩阵... 155

5.2.3  输出逆螺旋矩阵... 156

5.2.4  输出外螺旋矩阵... 158

5.2.5  输出蛇形方阵... 159

5.2.6  输出折叠方阵... 161

5.3  特殊矩阵的压缩存储及其应用... 162

5.4  稀疏矩阵的压缩存储及其应用... 166

第6章  广义表.... 172

6.1  头尾链表表示的广义表及其
应用... 172

6.2  扩展线性链表表示的广义表
及其应用... 178

6.3  广义表的综合应用——导师-学生
制管理... 181

第7章  树... 187

7.1  树的表示及创建二叉树... 187

7.1.1  采用广义表创建二叉树... 194

7.1.2  创建二叉树... 196

7.2  二叉树的遍历... 199

7.2.1  非递归先序遍历二叉树... 205

7.2.2  按层次遍历二叉树... 207

7.2.3  由中序和后序序列构造
二叉树... 209

7.2.4  输出树的各条边... 212

7.3  二叉树的应用... 214

7.3.1  求树中节点的个数... 214

7.3.2  交换二叉树的左右子树... 216

7.3.3  判断二叉树是否为完全
二叉树... 219

7.3.4  计算二叉树的高度和最大
宽度... 223

7.3.5  求树中根节点到任意节点
之间的路径... 226

7.4  哈夫曼树... 230

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值