目录 1
第1章 单片机中常用的线性数据结构 1
1.1 数据结构的基本概念 1
1.1.1 逻辑结构 2
1.1.2 存储结构 3
1.1.3 算法 4
1.2.3 计数器 5
1.2.2 临时变量 5
1.2.1 系统变量 5
1.2 简单变量 5
1.2.4 指针 7
1.3 表格 8
1.3.1 固定表格 9
1.3.2 动态表格 9
1.3.3 线性表的插入算法 10
1.3.4 线性表的删除算法 15
1.4 数组和数据块 19
1.4.1 一维数组 19
1.4.2 多维数组 20
1.4.3 数据块操作 22
1.5 数据缓冲区 24
1.5.1 输入缓冲区 24
1.5.2 输出缓冲区 25
1.6 队列 26
1.6.1 队列的基本概念 26
1.6.2 队列的存储结构 27
1.6.3 入队的算法 29
1.6.4 出队的算法 30
1.6.5 队列的应用实例 33
1.7 用户堆栈 35
1.7.1 用户堆栈的基本概念 36
1.7.2 用户堆栈的存储结构 37
1.7.3 入栈的算法 38
1.7.4 出栈的算法 39
第2章 线性表的排序算法 41
2.1 插入排序 41
2.2 选择排序 43
2.3 冒泡排序 45
2.4 归并排序 49
2.5 快速排序 60
2.6 排序算法比较 66
第3章 线性表的查找算法 67
3.1 顺序查找 67
3.2 折半查找 68
3.3 分块查找 70
3.4 串的匹配 73
3.5 查找算法应用实例 78
4.1.1 递归算法的特点 80
4.1.2 递归算法举例 80
4.1 递归算法 80
第4章 几种常用的特殊算法 80
4.2 递推算法 83
4.2.1 递推算法的适用性 83
4.2.2 递推算法举例 83
4.3 回溯算法 85
4.3.1 回溯算法的特点 86
4.3.2 回溯算法举例 86
5.1.1 树的定义 92
第5章 树及其在单片机中的算法实现 92
5.1 树的基本概念 92
5.1.2 树的基本概念 93
5.2 二叉树 93
5.2.1 二叉树的定义及其性质 93
5.2.2 完全二叉树及其特点 94
5.2.3 二叉树的顺序存储 95
5.2.4 二叉树按编号的遍历算法 97
5.2.5 二叉树的前根遍历算法 98
5.2.6 二叉树的中根遍历算法 101
5.2.7 二叉树的后根遍历算法 103
5.3 普通树 105
5.3.1 普通树的存储方法 105
5.3.2 普通树的前根遍历算法 108
5.3.3 普通树的后根遍历算法 113
第6章 图及其在单片机中的算法实现 118
6.1 图的基本概念 118
6.1.1 图的定义 118
6.1.2 图的基本概念 118
6.2 图的存储结构 119
6.2.1 邻接矩阵 120
6.2.2 邻接表 121
6.3 图的遍历算法 123
6.3.1 图的深度优先搜索遍历算法 123
6.3.2 图的广度优先搜索遍历算法 129
6.4 图的生成树和最短路径问题 136
6.4.1 图的生成树 136
6.4.2 图的最短路径问题 142
6.5 网络的最小生成树和最短路径问题 145
6.5.1 网络的最小生成树 146
6.5.2 网络的最短路径问题 153
第7章 常用线性方程组求解算法 159
7.1 引言 159
7.2 主元消去法 159
7.2.1 无回代过程的主元消去法 160
7.2.2 有回代过程的主元消去法 168
7.3.1 行列式法概述 173
7.3.2 三元线性方程组的行列式法 173
7.3 三元线性方程组的行列式法 173
第8章 常用插值算法 179
8.1 引言 179
8.2 线性插值算法 179
8.3 抛物线插值算法 181
8.3.1 算法概述 181
8.3.2 逐次线性插值算法 182
8.4 插值算法应用实例 184
8.4.1 线性插值算法应用实例 184
8.4.2 抛物线拟合算法应用实例 186
第9章 常用数理统计分析 189
9.1 引言 189
9.2 均值和标准离差的估算 190
9.2.1 计算叉(估算均值μ) 190
9.2.2 计算S(估算标准离差σ) 191
9.3 用数理统计方法消除粗大误差 192
第10章 编码方法简介 197
10.1 信息源及编码 197
10.1.1 顺序编码 197
10.1.2 特征编码 198
10.1.3 哈夫曼编码(变长码) 199
10.2 检错码 202
10.2.1 检错原理 202
10.2.2 奇偶校验 203
10.2.3 和校验 205
10.2.4 循环冗余校验(CRC) 210
10.3 纠错码 213
10.3.1 纠错原理 214
10.3.2 汉明码 214
10.3.3 检二纠一码 218
10.3.4 矩形码 231
10.4 随机数发生器 235
10.4.1 交互式随机数发生器 235
10.4.2 用线性移位寄存器构成随机数发生器 238
10.4.3 软件随机数发生器 242
第11章 算法设计示例 245
11.1 老鼠过迷宫 245
11.1.1 数学模型分析 245
11.1.2 算法设计 247
11.1.3 数据结构设计 251
11.1.4 程序设计 252
11.2 仪器系数自动标定 256
11.2.1 数学模型分析 257
11.2.2 算法设计 258
11.2.3 数据结构设计 260
11.2.4 程序设计 260
附录A 浮点数据处理的基本原理 266
A.1 浮点数的基本概念 266
A.1.1 十进制浮点数 266
A.1.2 二进制浮点数 267
A.1.3 浮点数的规格化 268
A.2 浮点运算基本原理 269
A.2.1 浮点加减运算基本原理 270
A.2.2 浮点比较运算基本原理 272
A.2.3 浮点乘法运算基本原理 273
A.2.4 浮点除法运算基本原理 274
A.2.5 浮点开平方运算基本原理 274
A.2.6 浮点多项式运算基本原理 277
A.2.7 浮点超越函数运算基本原理 279