目录 1
第1章数据结构 1
1.1数据结构与算法 1
1.1.1数据结构的基本概念 1
1.1.2算法 3
1.2线性表 9
1.2.1线性表的逻辑结构 10
1.2.2线性表的顺序存储结构及其基本运算 10
1.2.3线性表的链式存储结构及其基本运算 12
1.2.4栈 16
1.2.5 队列 18
1.2.6 串 20
1.2.7 数组 21
1.3非线性结构 25
1.3.1树结构 25
1.3.2二叉树 26
1.3.3二叉树的存储结构 28
1.3.4树(森林)与二叉树的转换 30
1.3.5二叉树和树的遍历 32
1.3.6图 34
1.4查找算法 37
1.4.1查找 37
1.4.2顺序查找 38
1.4.3二分查找 38
1.4.4分块查找 40
1.4.5哈希查找 41
1.5排序算法 42
1.5.1插入排序 43
1.5.2交换排序 45
1.5.3选择排序 47
1.5.4归并排序 . 48
1.6实验项目 49
1.6.1 项目1 线性表、栈与队列 49
1.6.2项目2链表、串和数组 50
1.6.3项目3查找算法的实现 54
1.6.4.项目4排序算法的实现(一) 55
1.6.5项目5排序算法的实现(二) 55
习 题 57
2.1操作系统概述 . 61
2.1.1操作系统的基本概念 61
第2章操作系统 61
2.1.2操作系统的功能 62
2.1.3操作系统的形成与发展 64
2.1.4.操作系统的分类 . 65
2.2处理机管理 68
2.2.1进程的概念及其特点 . 69
2.2.2进程的状态及其转换 71
2.2.3进程管理 72
2.2.4进程的调度 76
2.2.5进程的相互作用 78
2.2.6进程间的通信 80
2.2.7死锁 82
2.3存储管理 83
2.3.1几个重要的概念 84
2.3.2存储管理方式 85
2.3.3存储保护 92
2.3.4作业的概念 92
2.3.5作业管理 94
2.3.6作业调度 96
2.4设备管理 98
2.4.1设备管理概述 98
2.4.2设备管理的任务 99
2.4.3设备管理的体系结构 100
2.4.4缓冲技术 101
2.4.5设备的分配与调度 102
2.4.6虚拟设备管理与SPOOLing技术 102
2.5文件管理 103
2.5.2文件的结构和存取方式 104
2.5.1文件管理功能 104
2.5.3文件目录 106
2.5.4文件存储空间的管理 109
2.5.5文件存取控制 110
2.5.6文件的使用 111
习 题 112
第3章软件工程方法 117
3.1软件工程概述 117
3.1.1软件的概念、特点 117
3.1.2软件危机及软件工程形成过程 118
3.1.3软件工程及软件工程学 119
3.2软件生存期和生存期模型 121
3.2.1软件生存期基本过程 121
3.2.2软件生存期模型 122
3.3 可行性研究分析 127
3.4软件需求分析 128
3.4.1软件需求分析的任务和过程 129
3.4.2 软件需求分析的原则 130
3.4.3结构化分析(Structured Analyses,SA) 131
3.5软件设计 138
3.5.1软件设计概述 138
3.5.2软件结构化设计方法 141
3.5.3详细设计方法 147
3.5.4面向对象的程序设计概述 151
3.6软件编码 154
3.6.1程序设计语言 155
3.6.2编程风格(Programming Style) 157
3.7软件测试 159
3.7.1软件测试概述 160
3.7.2软件测试策略 163
3.7.3常用测试方法 167
3.8软件维护 170
3.8.1软件维护概述 171
3.8.2软件维护的步骤与方法 172
3.8.3软件维护的副作用 173
3.9软件开发管理技术 174
3.9.1 质量管理 174
3.9.2计划管理 175
3.9.3人员管理 175
3.9.4文档管理 176
习 题 177
参考文献 181