《软件技术基础 修订版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王人骅,唐梓荣编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:1994
  • ISBN:7810125168
  • 页数:351 页
图书介绍:

第一章 编程的步骤与要求 2

1.1 什么是程序、什么是软件 2

第一篇 编程的一些问题 2

1.2 编程的几个阶段 3

1.2.1 编程的几个阶段 3

1.2.2 研制大型软件(程序)系统的几点要求 5

1.3 程序设计的思维方法 7

1.3.1 算法含义 7

1.3.2 算法设计的基本思路 7

1.4 如何评价程序 9

2.2 什么是结构化程序设计 12

第二章 结构化程序设计 12

2.1 一种新的编程方法 12

2.3 结构化程序设计的方法 13

2.3.1 不用或少用GOTO语句 13

2.3.2 自顶向下,逐步求精 16

2.3.3 分层结构与模块结构 19

2.3.4 组织形式 19

2.4 结构化系统分析与设计 19

2.4.1 结构化系统分析 20

2.4.2 结构化系统设计 20

3.1 程序设计语言分类 21

第三章 结构化程序语言 21

3.2 程序语言的选择 22

3.3 结构化语言的特点 23

练习与思考题 25

参考文献 25

第二篇 数据结构 28

第四章 数据结构基本概念 28

4.1 什么是数据结构 28

4.2 为什么要研究数据结构 28

4.3 数据结构分类 29

4.4 数据结构中若干常用术语 30

4.5 算法语言 31

第五章 向量和数组 34

5.1 向量 34

5.1.1 向量的定义 34

5.1.2 向量的物理表示 35

5.1.3 向量的性质 35

5.1.4 向量运算 36

5.2 数组 36

5.2.1 数组的定义 36

5.2.2 数组的物理表示 37

5.2.3 效率问题 39

5.3 稀疏数组 40

第六章 栈与队列 43

6.1 栈 43

6.1.1 栈的定义与物理表示 43

6.1.2 栈的运算 44

6.1.3 多栈共享邻接空间 45

6.2 栈的应用 47

6.3 队列 50

6.3.1 队列的定义与物理表示 50

6.3.2 队列运算 50

6.4.1 循环队的循环原理 52

6.4 循环队 52

6.4.2 循环队运算 53

6.5 队列的应用 54

第七章 链表 55

7.1 单向链表 55

7.1.1 单向链表的结构形式 55

7.1.2 链表运算 56

7.2 链表的存储空间 59

7.3 链接的栈和队列 61

7.4 循环链表 63

7.5 双向链表 64

7.6 链表的应用——一元多项式相加 66

7.7 十字链表 68

7.8 广义表及其应用 70

第八章 串 74

8.1 串的定义 74

8.2 串的物理表示 74

8.2.1 串的顺序表示法 75

8.2.2 串的链表表示法 77

8.3 串的运算 77

8.4 串的模式匹配 78

8.5 串的插入算法 81

第九章 树 83

9.1 树的基本概念 83

9.1.1 树的定义 83

9.1.2 树的基本术语 83

9.1.3 树结构的表示方法 84

9.2 二叉树 86

9.2.1 二叉树的定义 86

9.2.2 二叉树的性质 87

9.2.3 二叉树的物理表示 90

9.3.2 森林的二叉树表示 92

9.3.1 树的二叉树表示 92

9.3 树和森林转换成二叉树 92

9.4 遍历二叉树 94

9.4.1 前序遍历 94

9.4.2 中序遍历 95

9.4.3 后序遍历 96

9.5 线索二叉树 98

9.5.1 在二叉树中寻找结点的前驱和后继 98

9.5.2 在线索树中求结点的前驱和后继 98

9.5.3 二叉树线索化算法 100

9.5.4 结点插入中序线索二叉树 101

9.6.1 树的路径长度 102

9.6 哈夫曼树 102

9.6.2 哈夫曼树及其算法 103

9.6.3 哈夫曼树的应用 105

9.7 树的应用 106

9.7.1 二叉分类树 106

9.7.2 判定树 107

9.7.3 集合的表示法 109

第十章 图 114

10.1 图的基本概念 114

10.2.1 邻接矩阵法 115

10.2 图的物理表示 115

10.2.2 邻接表法 116

10.2.3 邻接多重表法 117

10.3 图的遍历与求图的连通分量 118

10.3.1 纵向优先搜索法 118

10.3.2 横向优先搜索法 120

10.3.3 求图的连通分量 120

10.4 生成树和最小代价生成树 122

10.4.1 什么是生成树和最小代价生成树 122

10.4.2 最小代价生成树的构造方法 123

10.5.1 从某个源点到其它顶点的最短路径 126

10.5 最短路径 126

10.5.2 每对顶点间的最短路径 128

10.6 拓扑排序 130

10.6.1 AOV网络与拓扑排序 131

10.6.2 拓扑排序算法 131

10.7 关键路径 133

10.7.1 什么是关键路径 134

10.7.2 e(i)和l(i)的求法 135

10.7.3 AOE网络的关键活动 135

11.1 排序 137

11.1.1 排序文件的物理表示 137

第十一章 排序与查找 137

11.1.2 选择排序 138

11.1.3 冒泡排序 139

11.1.4 线性插入排序 140

11.1.5 折半插入排序 141

11.1.6 希尔排序 142

11.1.7 快速排序 143

11.1.8 各种排序方法的比较 144

11.2.1 查找方法评价 145

11.2 查找 145

11.2.2 顺序查找法 146

11.2.3 折半查找法 146

11.2.4 分块查找法 147

11.2.5 几种基本查找方法的比较 148

11.3 哈希方法 149

11.3.1 构造哈希函数的几种方法 150

11.3.2 处理冲突的方法 152

练习与思考题 156

参考文献 160

12.1.1 源程序和目标程序 162

12.1 从源程序到目标程序 162

第十二章 编译工作的基本概念 162

第三篇 编译技术 162

12.1.2 汇编程序 163

12.1.3 编译程序 163

12.1.4 解释程序 163

12.2 编译程序的工作过程 164

12.3 编译程序与其它软件工具 166

12.3.1 编辑程序 166

12.3.2 装入程序与连接程序 166

12.3.3 排错程序 167

13.1 单词符号的种类和输出形式 168

第十三章 词法分析 168

13.2 读字符程序 170

13.2.1 读字符准备 170

13.2.2 超前搜索问题 170

13.3 词法分析的方法 171

13.3.1 直接分析法 172

13.3.2 状态转换图法 172

第十四章 语法分析 176

14.1 语言定义与语法结构 176

14.1.1 形式语言描述 176

14.1.2 文法和语言种类 178

14.1.3 文法如何定义语言 180

14.2 语法分析工作的内容 181

14.3 语法分析的方法 182

14.3.1 优先矩阵法 182

14.3.2 优先数法 187

14.3.3 状态矩阵法 190

14.3.4 递归子程序法 195

14.4 各种语法分析方法的比较 198

第十五章 中间语言及其优化 200

15.1 如何从单词符号产生出中间语言 200

15.2.1 逆波兰表示法 201

15.2 几种常用的中间语言 201

15.2.2 四元组表示法 202

15.2.3 三元组表示法 203

15.3 代码优化 204

第十六章 符号表和存储分配 204

16.1 符号表的结构 207

16.2 符号表的组织及操作 209

16.2.1 符号表的操作 209

16.2.2 标识符的局部性问题及其处理 210

16.3 存储空间分配 211

16.3.1 静态分配存储单元 211

16.3.2 动态分配存储单元 212

第十七章 出错处理 214

17.1 错误种类 214

17.1.1 拼写错误 214

17.1.2 语法错误 214

17.1.3 语义错误 215

17.2 错误处理 215

17.3 遏止株连信息和重复信息 216

17.3.1 遏止株连信息 216

17.3.2 遏止重复信息 217

练习与思考题 218

参考文献 219

第四篇 计算机操作系统 222

第十八章 操作系统概论 222

18.1 设置操作系统的目的 222

18.1.1 计算机的硬件组织 222

18.1.2 软件的层次和虚拟机的概念 223

18.1.3 设置操作系统的目的 223

18.2 操作系统的发展过程 224

18.2.1 手工操作阶段 224

18.2.2 早期批量处理阶段 224

18.3 操作系统的功能和类型 225

18.2.4 多道程序的出现和操作系统的形成 225

18.2.3 管理程序阶段 225

18.3.1 多道批处理系统 226

18.3.2 分时系统 226

18.3.3 实时系统 226

第十九章 操作系统的基本功能 228

19.1 处理机管理 228

19.1.1 中断处理 228

19.1.2 处理机调度(处理机分配)和进程调度 229

19.2 存储管理 233

19.2.1 存储管理的功能 233

19.2.2 界地址存储管理 234

19.2.3 虚拟存储的基本概念 235

19.2.4 分页存储管理 236

19.2.5 分段存储管理 237

19.2.6 段页结合存储管理 238

19.2.7 虚拟存储管理中的存储保护 239

19.3 设备管理 239

19.3.1 外部设备分类和设备管理的功能 239

19.3.2 外部设备的中断 239

19.3.3 分配和驱动外部设备 240

19.3.4 实现虚拟设备 242

19.4.1 文件与文件管理系统 243

19.4 文件管理 243

19.4.2 文件组织 244

19.4.3 文件的使用 248

19.5 操作系统的用户界面 248

第二十章 几种操作系统介绍 250

20.1 UNIX操作系统 250

20.1.1 UNIX操作系统的特点 250

20.1.2 UNIX操作系统的结构 251

20.1.3 UNIX操作系统的进程管理与存储管理 253

20.1.4 UNIX操作系统的文件系统和设备管理 254

20.2.1 CP/M操作系统的结构 258

20.2 CP/M操作系统 258

20.2.2 CP/M操作系统的文件管理 259

20.2.3 CP/M操作系统的发展 260

20.2.4 PC-DOS简介 261

20.3 分布式操作系统 261

20.3.1 分布式计算机系统概述 261

20.3.2 分布式操作系统的特点 262

练习与思考题 264

参考文献 264

21.2 数据管理方法的发展 266

21.1 数据库的概念 266

第二十一章 数据库系统概述 266

第五篇 数据库系统 266

21.2.1 人工管理阶段 267

21.2.2 文件系统阶段 267

21.2.3 数据库系统阶段 267

21.3 数据库技术的应用 268

21.4 数据模型 269

21.4.1 层次模型 269

21.4.2 网状模型 270

21.5.1 数据库系统 271

21.5 数据库系统的构成 271

21.4.3 关系模型 271

21.5.2 数据库管理系统 272

21.6 数据库数据的存取过程 274

第二十二章 关系模型的数据库系统 276

22.1 基本概念 276

22.1.1 笛卡尔积和关系 276

22.1.2 关系数据语言的分类 278

22.2 关系代数 278

22.2.1 传统的集合运算 278

22.2.2 专门的关系运算 279

22.2.3 检索操作 283

22.2.4 存储操作 284

22.3 关系演算 284

22.3.1 元组关系演算 284

22.3.2 域关系演算 288

22.4 介于关系代数与关系演算之间的语言SQL 291

22.5 关系数据语言的特点 293

22.6 关系数据库的模式和子模式 294

22.6.1 模式 294

22.6.2 子(外)模式 295

22.7.1 查询优化问题的提出 296

22.7 查询优化概述 296

22.7.2 优化的一般策略 297

22.8 关系模式的规范化 298

22.8.1 关系的规范化与范式 298

22.8.2 函数依赖和码(关键字) 299

22.8.3 2NF 300

22.8.4 3NF 301

22.8.5 BCNF(Boyce-Codd范式) 301

第二十三章 ORACLE关系数据库系统 303

23.1 概述 303

23.2 用户友好接口UFI 305

23.2.1 SQL和UFI 305

23.2.2 索引和聚集 306

23.2.3 数据控制 307

23.2.4 报表格式输出 309

23.2.5 UFI命令 309

23.3 交互式应用工具IAF 310

23.3.1 IAG使用概述 311

23.3.2 IAP的调用 311

23.4 宿主语言接口HLI 312

第二十四章 网状模型的数据库系统 315

24.1 CODASYL系统的总体结构 315

24.2.1 记录类型 316

24.2 CODASYL系统的数据模型 316

24.2.2 系类型 317

24.2.3 系值 318

24.2.4 CODASYL系统对事物联系的表示方法 319

24.3 记录的存放方法 320

24.3.1 域 321

24.3.2 数据库码 321

24.3.3 运行单位与当前值 321

24.3.4 记录的定位方式 322

24.4 系类型的描述及其实现 323

24.4.1 系序原则 323

24.4.2 属籍类别 324

24.4.4 系值内有关记录值的连接实现 325

24.4.3 系值选择 325

24.5 模式数据描述语言 327

24.6 子模式数据描述语言 328

24.7 数据操纵语言 330

第二十五章 数据库的保护 334

25.1 安全性 334

25.2 数据的完整性 336

25.3 并发控制 337

25.4 数据库的恢复 338

26.1 数据库设计过程 340

第二十六章 数据库设计 340

26.2 数据字典 346

第二十七章 分布式数据库系统概述 347

27.1 定义与分类 347

27.2 分布式数据库系统的几个主要问题 348

27.2.1 数据分布 348

27.2.2 并发操作控制 349

27.2.3 查询处理 350

27.2.4 恢复处理 350

练习与思考题 351

参考文献 351