目录 1
前言 1
第一章 程序设计方法与常用算法 1
1.1 程序设计与算法 1
1.1.1 算法 1
1.1.2 数据类型的概念 2
1.1.3 结构程序设计 2
1.2 常用数值计算算法 7
1.2.1 迭代法 7
1.2.2 递推法 8
1.2.3 递归法 9
1.2.4 插值法 11
1.2.5 差分法 19
1.2.6 常用算法举例 20
1.3.1 穷举搜索法 43
1.3 非数值计算算法 43
1.3.2 递归法 44
1.3.3 回溯法 45
1.3.4 贪婪法 46
1.3.5 分治法 49
1.3.6 算法举例 50
习题 55
2.1.1 抽象数据类型 65
2.1.2 抽象数据类型的实现 65
2.1 数据抽象与程序设计 65
第二章 基本数据结构及操作 65
2.1.3 指针 67
2.2 数组 69
2.2.1 数组的特征与表示 69
2.2.2 矩阵运算 78
2.2.3 趣味程序设计问题 90
2.3.2 队列的实现 97
2.3.1 队列的特征与基本操作 97
2.3 队列 97
2.3.3 队列的应用 100
2.4 栈 107
2.4.1 栈的特征和基本操作 107
2.4.2 栈结构的实现 108
2.4.3 栈的应用 111
2.5 集合 123
2.5.1 集合的特征与基本操作 123
2.5.2 集合结构的实现 123
2.5.3 集合结构的应用 126
2.6 串 129
2.6.1 串的特征与基本操作 129
2.6.2 串的实现 130
2.6.3 不回溯的字符串搜索算法 133
习题 134
3.1.2 链表的表示 147
3.1.1 链表的概念 147
第三章 动态数据结构及操作 147
3.1 链表 147
3.1.3 链表的操作 149
3.1 4 链表算法例析 159
3.2 树 162
3.2.1 树和二叉树 163
3.2.2 树的存储表示 165
3.2.3 树和二叉树的遍历 166
3.2.4 二叉排序树 170
3.2.5 B树 173
3.3 图 180
3.3.1 图的概念和存储结构 180
3.3.2 图的遍历 184
3.3.3 最小代价生成树 186
3.3.4 最短路径 189
3.3.5 拓扑排序 192
习题 194
第四章 排序与查找 204
4.1 排序 204
4.1.1 插入排序 204
4.1.2 选择排序 209
4.1.3 冒泡排序 213
4.1.4 希尔排序 216
4.1.5 快速排序 217
4.1.6 堆排序 222
4.1.7 归并排序 225
4.1.8 小结 229
4.2 查找 230
4.2.1 顺序查找 230
4.2.2 二分法查找 232
4.2.4 散列技术 237
4.3 应用举例 241
习题 245
第五章 文件与文件I/O操作 257
5.1 文件的基本概念 257
5.1.1 文件的结构 257
5.1.2 文件的组织 263
5.2 程序设计语言的文件操作 271
5.2.1 文件的建立和删除 271
5.2.2 文件的打开与关闭 271
5.2.3 文件的读写 271
5.3 文件使用举例 271
5.3.1 PASCAL语言文件使用举例 272
5.3.2 FORTRAN语言文件使用举例 275
5.3.3 C语言文件使用举例 278
举例 284
4.2.3 分块查找 284
5.3.4 COBOL语言文件使用 284
习题 291
第六章 事务处理流程图 302
6.1 概述 302
6.1.1 事务与事务处理 302
6.1.2 事务处理模型 303
6.2 事务处理流程 305
6.2.1 例析 305
6.2.2 事务处理流程要点 309
6.3 事务处理流程图设计举例 311
6.3.1 流程图设计 311
6.3.2 事务处理流程分析 325
习题 328
第七章 CASL程序设计 329
7.1 CASL概述 329
7.1.1 COMET机的硬件结构 329
7.1.2 指令系统 330
7.1.3 CASL汇编简介 338
7.2 CASL程序设计 341
7.2.1 分支 341
7.2.2 循环 344
7.2.3 主子序程 352
7.2.4 程序举例 364
7.3 CASL与数据结构 373
7.3.1 数组 373
7.3.2 链表 381
7.3.3 栈与递归程序 384
7.4 试题分析与应试技巧 389
7.4.1 试题分析 389
7.4.2 应试技巧 400
习题 404
附录一 CASL汇编语言文本 414
附录二 习题答案 418
参考文献 425