第1章 数据结构 1
1.1数据结构的基本概念 1
1.1.1数据结构的研究内容及其重要性 1
1.1.2数据结构的基本概念和术语 2
1.1.3数据结构、数据类型和抽象数据类型 5
1.2线性结构 6
1.2.1线性表 6
1.2.2栈和队列 21
1.2.3数组和广义表 28
1.2.4串 36
1.3树和二叉树 37
1.3.1树形结构基本概念 37
1.3.2二叉树 40
1.3.3二叉树的遍历 45
1.3.4树、森林与二叉树的转换 48
1.3.5哈夫曼树和哈夫曼编码 49
1.3.6二叉排序树 52
1.4图 52
1.4.1图的基本概念 53
1.4.2有向图和无向图 53
1.4.3子图与路径 54
1.4.4连通图和连通分量 55
1.4.5图的存储结构 55
1.4.6图的遍历 58
1.5查找和排序 59
1.5.1查找 59
1.5.2排序 67
小结 74
习题 75
第2章 计算机操作系统 81
2.1计算机操作系统简介 81
2.1.1操作系统概述 81
2.1.2操作系统的发展及分类 82
2.1.3操作系统的主要特征和功能 86
2.2处理器管理 88
2.2.1程序执行的基本特征 88
2.2.2进程的定义及特征 89
2.2.3进程的状态和转换 90
2.2.4进程的描述 93
2.2.5处理器调度 97
2.2.6进程调度 100
2.2.7并发进程 103
2.2.8临界区管理 105
2.2.9进程消息传递 114
2.2.10死锁 117
2.2.11作业调度 118
2.2.12线程 119
2.3存储管理 123
2.3.1存储管理概述 123
2.3.2连续存储管理 126
2.3.3可变分区存储管理 127
2.3.4主存扩充技术 129
2.3.5分页式存储管理 131
2.3.6分段式存储管理 133
2.3.7段页式存储管理 134
2.3.8虚拟存储管理 136
2.4设备管理 138
2.4.1设备管理概述 138
2.4.2 I/O控制方式 141
2.4.3设备的分配 144
2.4.4设备无关性和缓冲技术 147
2.4.5设备驱动程序 148
2.5文件管理 150
2.5.1文件系统的基本概念 150
2.5.2文件的组织和存取 151
2.5.3文件目录 153
2.5.4文件存储空间管理 157
2.5.5文件的共享 159
小结 161
习题 161
第3章 软件工程 164
3.1软件工程概述 164
3.1.1软件 164
3.1.2软件危机 166
3.1.3软件工程 168
3.2软件过程 170
3.2.1软件过程的概念 170
3.2.2软件生存周期和软件过程模型 171
3.2.3典型的软件过程模型 173
3.3软件需求分析 175
3.3.1需求分析的概念 176
3.3.2需求分析的任务 176
3.3.3需求分析的技术 177
3.3.4结构化分析法 178
3.3.5数据流图 179
3.3.6数据字典 181
3.3.7加工说明 182
3.3.8实体-联系图 183
3.3.9状态转换图 184
3.3.10需求规格说明和验证 185
3.4软件设计 186
3.4.1软件设计概述 186
3.4.2软件设计基本原理 186
3.4.3模块化设计的优化 190
3.4.4软件概要设计 191
3.4.5面向数据流的设计 192
3.4.6软件详细设计 194
3.5面向对象技术 197
3.5.1面向对象的基本概念 197
3.5.2面向对象的软件开发过程 199
3.5.3统一建模语言UML概述 200
3.6软件编码 202
3.6.1编码风格 202
3.6.2编程语言的选择 204
3.7软件测试 205
3.7.1测试的目标和任务 206
3.7.2软件测试方法 206
3.7.3白盒测试技术 208
3.7.4黑盒测试技术 209
3.7.5软件测试策略 209
3.8软件维护 212
3.8.1软件维护的概念 212
3.8.2软件维护的特点 213
3.8.3软件的可维护性 214
3.8.4软件维护过程 215
3.9新型软件工程技术 216
3.9.1软件复用 217
3.9.2软件能力成熟度模型 219
小结 222
习题 222
第4章 数据库技术 225
4.1数据库技术基础 225
4.1.1数据、数据库、数据库管理系统 226
4.1.2数据库技术的产生与发展 227
4.1.3数据库系统 229
4.1.4数据库系统体系结构 232
4.2数据描述 233
4.3数据模型 236
4.3.1数据模型的基本概念 236
4.3.2层次数据模型 237
4.3.3网状数据模型 238
4.3.4关系数据模型 239
4.3.5面向对象数据库模型 241
4.4结构化查询语言(SQL) 242
4.4.1 SQL的产生及应用情况 242
4.4.2 SQL的特点 243
4.4.3 SQL数据库体系结构 243
4.4.4 SQL数据定义 245
4.4.5数据库的基本查询 248
4.4.6数据更新 251
4.4.7 SQL数据控制 252
4.4.8嵌入式SQL 253
4.5数据库设计 254
4.6数据库新技术 256
4.6.1多媒体数据库 256
4.6.2分布式数据库 258
4.6.3网络环境下的数据库体系 261
4.6.4数据仓库 264
4.6.5数据挖掘技术 267
小结 270
习题 270
附录A 数据库设计说明书 273
参考文献 278