标题：高等学校21世纪教材·软件技术基础教程
图书信息
出版社: 人民邮电出版社; 第1版 (2002年12月1日)
平装: 356页
正文语种: 简体中文
开本: 16
ISBN: 7115109001
条形码: 9787115109002
尺寸: 25.8 x 18.4 x 1.6 cm
重量: 522 g
内容简介
《高等学校21世纪教材?软件技术基础教程》是关于计算机软件技术的基础教材，简明扼要地介绍了计算机软件设计与开发过程中所需要的基本知识。主要内容包括：基本的数据结构及其运算，实用的查找与排序技术，数据库设计的技术，Windows程序设计，编译技术，应用软件设计与开发技术等。《高等学校21世纪教材?软件技术基础教程》从实用出发，主要强调将系统软件的实现原理以及其中的基本技术用于应用软件的设计与开发。
《高等学校21世纪教材?软件技术基础教程》是作者在长期教学实践的基础上编写成的，内容既具有系统性，又具有实用性，叙述通俗易懂，例题丰富。书中所有算法程序都经过实际调试，正确有效。《软件技术基础教程》每章都附有大量的习题，供学习过程中练习之用。
目录
第1章  基础知识　  1
1.1  计算机软件概述　  1
1.1.1  计算机软件及其分类　  1
1.1.2  程序设计语言及其语言处理程序　  2
1.2  操作系统的基本概念　  4
1.2.1  操作系统的功能与任务　  4
1.2.2  操作系统的发展过程　  5
1.2.3  操作系统的分类　  8
1.3  算法　 11
1.3.1  算法的基本概念　 11
1.3.2  算法描述语言　 13
1.3.3  算法设计基本方法　 15
1.3.4  算法的复杂度分析　 25
习题1　 28
第2章  基本数据结构及其运算　 29
2.1  数据结构的基本概念　 29
2.2  线性表　 36
2.2.1  线性表顺序存储结构　 36
2.2.2  顺序表的插入与删除　 38
2.3  栈及其应用　 41
2.3.1  栈的基本概念　 41
2.3.2  栈的顺序存储及其运算　 43
2.3.3  栈的应用　 45
2.4  队列及其应用　 48
2.4.1  队列的基本概念　 48
2.4.2  循环队列及其运算　 49
2.4.3  队列的应用　 52
2.5  线性链表　 57
2.5.1  线性链表的基本概念　 57
2.5.2  线性链表的基本运算　 63
2.5.3  循环链表　 66
2.5.4  多项式的表示及其运算　 68
2.6  数组与字符串　 74
2.6.1  数组的顺序存储结构　 74
2.6.2  规则矩阵的压缩　 76
2.6.3  一般稀疏矩阵的表示　 79
2.6.4  字符串　 84
2.7  树与二叉树　 89
2.7.1  树的基本概念　 89
2.7.2  二叉树及其基本性质　 92
2.7.3  二叉树的存储结构　 95
2.7.4  二叉树的遍历　 97
2.7.5  穿线二叉树　 99
2.7.6  表达式的线性化　102
2.8  图　105
2.8.1  图的基本概念　105
2.8.2  图的存储结构　106
2.8.3  图的遍历　111
2.9  索引存储结构　114
2.9.1  索引存储的概念　114
2.9.2  “顺序-索引-顺序”存储方式　116
2.9.3  “顺序-索引-链接”存储方式　117
2.9.4  多重索引存储结构　118
习题2　119
第3章  查找与排序技术　121
3.1  线性表的查找技术　121
3.1.1  顺序查找　121
3.1.2  有序表的对分查找　122
3.2  Hash表技术　123
3.2.1  Hash表的基本概念　123
3.2.2  几种常用的Hash表　126
3.3  线性表的排序技术　131
3.3.1  互换排序　131
3.3.2  插入排序　134
3.3.3  选择排序　137
3.3.4  其他排序方法简介　140
3.4  索引查找　143
3.4.1  分块查找　143
3.4.2  二叉排序树查找　145
3.4.3  B-树　149
3.4.4  B+树　156
3.5  拓扑分类　158
习题3　160
第4章  数据管理技术　162
4.1  数据管理技术的发展　162
4.1.1  数据管理技术发展的三个阶段　162
4.1.2  数据库管理系统　164
4.2  数据描述与数据模型　166
4.2.1  数据描述　166
4.2.2  数据模型　169
4.3  数据库体系结构　172
4.4  关系代数　174
4.4.1  关系代数运算　174
4.4.2  关系模型的查询优化　181
4.4.3  关系代数的等价变换　184
4.5  关系模式的规范化　185
4.6  数据库设计　189
4.6.1  数据库设计的过程　189
4.6.2  数据字典　196
4.6.3  数据库保护　198
4.7  关系数据库语言　199
4.7.1  关系数据库语言概述　199
4.7.2  数据库定义　202
4.7.3  数据查询　208
4.7.4  数据修改　215
4.7.5  数据控制　218
4.7.6  嵌入式SQL　220
习题4　224
第5章  Windows程序设计　227
5.1  Windows应用程序设计的特点　227
5.2  使用Visual C++ 6.0　235
5.2.1  Visual C++ 6.0可视化集成开发环境　236
5.2.2  创建工程和工作区　243
5.2.3  Win32开发　246
5.2.4  MFC编程　249
5.3  窗口、菜单与消息框　255
5.3.1  创建一个Windows程序　255
5.3.2  AppWizard所创建的文件　260
5.3.3  编译和链接Hi程序　261
5.3.4  应用程序执行机制　262
5.3.5  几种窗口类型　266
5.3.6  菜单的使用　270
5.3.7  更新命令用户接口消息　276
5.3.8  快捷菜单　279
5.4  工具条与状态栏　281
5.4.1  工具条的可视化设计　281
5.4.2  工具条的编程技术　287
5.4.3  状态栏的设计与实现　291
习题5　293
第6章  编译技术　294
6.1  编译程序的工作过程　294
6.2  状态矩阵法的编译过程　296
6.2.1  状态矩阵法的基本原理　296
6.2.2  状态矩阵的压缩　297
6.3  词法分析　299
6.3.1  词法分析的任务　299
6.3.2  读字符程序　301
6.3.3  状态矩阵法的词法分析过程　301
6.3.4  算术常数的识别和翻译　305
6.4  中间语言表示　308
6.4.1  波兰表示　308
6.4.2  三元组表示　310
6.5  语法的分析与加工　315
6.5.1  优先矩阵法　315
6.5.2  优先数法　317
6.5.3  状态矩阵法　318
6.5.4  递归子程序法　318
习题6　320
第7章  应用软件设计与开发技术　322
7.1  软件工程概述　322
7.1.1  软件工程的概念　322
7.1.2  软件生命周期　322
7.1.3  应用软件开发的原则和方法　325
7.2  结构化分析方法　327
7.2.1  SA方法的特点　327
7.2.2  数据流程图　329
7.2.3  数据字典　331
7.2.4  功能说明　332
7.3  结构化设计方法　334
7.3.1  SD方法的特点　334
7.3.2  结构图　334
7.3.3  模块独立性的评价　336
7.4  测试与调试基本技术　341
7.4.1  测试　341
7.4.2  调试　349
7.5  软件开发新技术　351
7.5.1  原型方法　351
7.5.2  瀑布模型　352
7.5.3  面向对象技术　353
习题7　355
参考文献　356