第1章 数据结构概论 1
1.1 数据结构的定义 1
1.2 算法的描述与分析 3
1.3 本章小结 7
习题1 8
第2章 线性表 9
2.1 线性表的概念 9
2.2 线性表的顺序存储结构及其操作 10
2.3 线性表的链式存储结构及其操作 14
2.4 循环链表和双向链表 19
2.5 栈及其应用 24
2.6 队列 28
2.7 串及其操作 31
2.8 本章小结 37
习题2 38
第3章 树 40
3.1 树的基本概念 40
3.2 二叉树 42
3.3 二叉树的遍历 46
3.4 哈夫曼树及其应用 48
3.5 树的应用 54
3.6 本章小结 56
习题3 56
第4章 图 59
4.1 图的基本概念 59
4.2 图的存储结构 61
4.3 图的遍历 65
4.4 图的连通性 68
4.5 本章小结 73
习题4 74
第5章 排序 76
5.1 选择排序 76
5.2 交换排序 83
5.3 插入排序 86
5.4 归并排序 89
5.5 本章小结 91
习题5 91
第6章 查找 92
6.1 顺序查找 92
6.2 折半查找 93
6.3 树型查找 95
6.4 Hash查找 101
6.5 本章小结 107
习题6 107
第7章 操作系统概述 108
7.1 操作系统的地位和作用 108
7.2 操作系统的类型 111
7.3 操作系统的结构 116
7.4 常用操作系统 117
7.5 本章小结 119
习题7 119
第8章 作业和进程管理 120
8.1 作业管理 120
8.2 进程管理 126
8.3 本章小结 140
习题8 141
第9章 存储管理 142
9.1 存储管理的基本概念 142
9.2 分区管理 145
9.3 分页式存储管理 149
9.4 分段式存储管理 151
9.5 覆盖与交换 155
9.6 虚拟存储器 156
9.7 本章小结 158
习题9 159
第10章 设备管理和文件管理 160
10.1 设备管理 160
10.2 文件管理 170
10.3 本章小结 179
习题10 180
第11章 主流操作系统简介 181
11.1 Unix操作系统 181
11.2 Linux操作系统 187
11.3 Windows 2000操作系统 192
11.4 本章小结 197
习题11 197
第12章 系统分析和软件计划 198
12.1 软件工程概述 198
12.2 可行性分析 205
12.3 软件计划 207
12.4 软件进度计划书 210
12.5 本章小结 212
习题12 212
第13章 软件需求分析 213
13.1 软件需求分析概述 213
13.2 数据流图 220
13.3 数据字典 225
13.4 加工逻辑 227
13.5 结构化分析方法 228
13.6 软件需求规格说明书 231
13.7 软件需求分析的困难性 232
13.8 本章小结 233
习题13 233
第14章 软件设计 234
14.1 软件设计的目标与任务 234
14.2 软件总体设计 234
14.3 软件设计的优化 238
14.4 软件详细设计 242
14.5 软件设计说明书 249
14.6 本章小结 249
习题14 250
第15章 软件编码与测试 251
15.1 程序设计语言和开发工具的选择 251
15.2 程序设计的技巧、风格和效率 255
15.3 软件错误与软件测试 257
15.4 软件测试过程 259
15.5 软件测试方法 265
15.6 测试用例设计 266
15.7 程序纠错技术 268
15.8 本章小结 270
习题15 270
第16章 软件维护 272
16.1 软件维护的定义与特点 272
16.2 软件维护的过程 274
16.3 本章小结 276
习题16 276
第17章 面向对象的软件工程方法简介 277
17.1 面向对象分析技术概述 277
17.2 面向对象设计概论 282
参考文献 284
附录 上机实验指导 285