计算机科学导论 第三版目录

第1章	绪论	1	
	1.1	图灵模型	1
	1.1.1	数据处理器	1
	1.1.2	可编程数据处理器	2
	1.1.3	通用图灵机	2
	1.2	冯·诺依曼模型	3
	1.2.14	个子系统	3
	1.2.2	存储程序概念	3
	1.2.3	指令的顺序执行	4
	1.3	计算机组成部分	4
	1.3.1	计算机硬件	4
	1.3.2	数据	4
	1.3.3	计算机软件	5
	1.4	历史	6
	1.4.1	机械计算机器(1930年以前)	6
	1.4.2	电子计算机的诞生(1930~1950年)	6
	1.4.3	计算机的诞生(1950年至今)	7
	1.5	社会问题和道德问题	8
	1.5.1	社会问题	8
	1.5.2	道德问题	8
	1.6	计算机科学作为一门学科	9
	1.7	课程纲要	9
	1.7.1	第一部分:数据的表示与运算	9
	1.7.2	第二部分:计算机硬件	9
	1.7.3	第三部分:计算机软件	9
	1.7.4	第四部分:数据组织与抽象	9
	1.7.5	第五部分:高级话题	10
	1.8	章末材料	10
	1.9	练习	10
第2章	数字系统		12
	2.1	引言	12
	2.2	位置化数字系统	12
	2.2.1	十进制系统(以10为底)	13
	2.2.2	二进制系统(以2为底)	14
	2.2.3	十六进制系统(以16为底)	15
	2.2.4	八进制系统(以8为底)	16
	2.2.54	种位置化数字系统的小结	16
	2.2.6	转换	17
	2.3	非位置化数字系统	22
	2.4	章末材料	23
	2.5	练习	24
第3章	数据存储		27
	3.1	数据类型	27
	3.2	存储数字	28
	3.2.1	存储整数	29
	3.2.23	种系统的比较	34
	3.2.3	实数	35
	3.3	存储文本	40
	3.4	存储音频	41
	3.4.1	采样	41
	3.4.2	量化	42
	3.4.3	编码	42
	3.4.4	声音编码标准	42
	3.5	存储图像	42
	3.5.1	光栅图	42
	3.5.2	矢量图	44
	3.6	存储视频	44
	3.7	章末材料	44
	3.8	练习	45
第4章	数据运算		49
	4.1	逻辑运算	49
	4.1.1	位层次上的逻辑运算	49
	4.1.2	模式层次上的逻辑运算	51
	4.2	移位运算	53
	4.3	算术运算	54
	4.3.1	整数的算术运算	55
	4.3.2	实数的算术运算	58
	4.4	章末材料	61
	4.5	练习	62
第5章	计算机组成		64
	5.1	引言	64
	5.2	中央处理单元	64
	5.2.1	算术逻辑单元	64
	5.2.2	寄存器	65
	5.2.3	控制单元	65
	5.3	主存储器	65
	5.3.1	地址空间	66
	5.3.2	存储器的类型	66
	5.3.3	存储器的层次结构	67
	5.3.4	高速缓冲存储器	67
	5.4	输入/输出子系统	68
	5.4.1	非存储设备	68
	5.4.2	存储设备	68
	5.5	子系统的互连	73
	5.5.1	CPU和存储器的连接	73
	5.5.2	I/O设备的连接	73
	5.5.3	输入/输出设备的寻址	76
	5.6	程序执行	77
	5.6.1	机器周期	77
	5.6.2	输入/输出操作	78
	5.7	不同的体系结构	79
	5.7.1	CISC	79
	5.7.2	RISC	80
	5.7.3	流水线	80
	5.7.4	并行处理	80
	5.8	简单计算机	82
	5.8.1	CPU	82
	5.8.2	主存	83
	5.8.3	输入/输出子系统	83
	5.8.4	指令集	83
	5.8.5	处理指令	84
	5.8.6	存储程序和数据	85
	5.8.7	指令周期	85
	5.8.8	另一个例子	88
	5.8.9	可重用性	89
	5.9	章末材料	89
	5.1	练习	90
第6章	计算机网络和因特网		93
	6.1	引言	93
	6.1.1	网络	93
	6.1.2	因特网	94
	6.1.3	硬件和软件	96
	6.1.4	协议分层	96
	6.1.5	TCP/IP协议族	98
	6.2	应用层	100
	6.2.1	提供服务	101
	6.2.2	应用层模式	101
	6.2.3	标准化客户机-服务器应用	102
	6.2.4	文件传输协议	105
	6.2.5	电子邮件	105
	6.2.6	TELNET	106
	6.2.7	安全外壳	107
	6.2.8	域名系统	107
	6.2.9	端到端模式	109
	6.3	传输层	110
	6.3.1	传输层服务	110
	6.3.2	传输层协议	112
	6.4	网络层	113
	6.4.1	网络层提供的服务	113
	6.4.2	网络层协议	115
	6.5	数据链路层	117
	6.5.1	节点和链接	117
	6.5.2	局域网	118
	6.5.3	广域网	120
	6.6	物理层	123
	6.6.1	数据和信号	123
	6.6.2	数字化传输	124
	6.6.3	模拟传输	125
	6.7	传输介质	126
	6.7.1	导向介质	126
	6.7.2	非导向介质:无线	127
	6.8	章末材料	128
	6.9	练习	129
第7章	操作系统		131
	7.1	引言	131
	7.1.1	操作系统	131
	7.1.2	自举过程	132
	7.2	演化	132
	7.2.1	批处理系统	132
	7.2.2	分时系统	132
	7.2.3	个人系统	133
	7.2.4	并行系统	133
	7.2.5	分布式系统	133
	7.2.6	实时系统	133
	7.3	组成部分	133
	7.3.1	用户界面	134
	7.3.2	内存管理器	134
	7.3.3	进程管理器	136
	7.3.4	文件管理器	141
	7.4	主流操作系统	141
	7.4.1	UNIX	141
	7.4.2	Linux	142
	7.4.3	Windows	143
	7.5	章末材料	144
	7.6	练习	145
第8章	算法		147
	8.1	概念	147
	8.1.1	非正式定义	147
	8.1.2	定义动作	148
	8.1.3	细化	148
	8.1.4	泛化	149
	8.2	三种结构	150
	8.2.1	顺序	150
	8.2.2	判断	150
	8.2.3	循环	150
	8.3	算法的表示	150
	8.3.1	UML	150
	8.3.2	伪代码	150
	8.4	更正式的定义	153
	8.4.1	定义良好	153
	8.4.2	明确步骤	153
	8.4.3	产生结果	153
	8.4.4	在有限的时间内终止	153
	8.5	基本算法	153
	8.5.1	求和	153
	8.5.2	乘积	154
	8.5.3	**和最小	154
	8.5.4	排序	154
	8.5.5	查找	158
	8.6	子算法	159
	8.7	递归	160
	8.7.1	迭代的定义	160
	8.7.2	递归的定义	160
	8.8	章末材料	162
	8.9	练习	163
第9章	程序设计语言		166
	9.1	演化	166
	9.1.1	机器语言	166
	9.1.2	汇编语言	167
	9.1.3	高级语言	167
	9.2	翻译	168
	9.2.1	编译	168
	9.2.2	解释	168
	9.2.3	翻译过程	169
	9.3	编程模式	169
	9.3.1	过程式模式	170
	9.3.2	面向对象模式	172
	9.3.3	函数式模式	173
	9.3.4	说明式模式	175
	9.4	共同概念	175
	9.4.1	标识符	175
	9.4.2	数据类型	175
	9.4.3	语句	178
	9.5	章末材料	183
	9.6	练习	183
第10章	软件工程		186
	10.1	软件生命周期	186
	10.2	分析阶段	187
	10.2.1	面向过程分析	187
	10.2.2	面向对象分析	189
	10.3	设计阶段	189
	10.3.1	面向过程设计	189
	10.3.2	面向对象设计	190
	10.4	实现阶段	190
	10.4.1	语言的选择	190
	10.4.2	软件质量	191
	10.5	测试阶段	192
	10.5.1	白盒测试	192
	10.5.2	黑盒测试	193
	10.6	文档	194
	10.6.1	用户文档	194
	10.6.2	系统文档	194
	10.6.3	技术文档	194
	10.7	章末材料	194
	10.8	练习	195
第11章	数据结构		197
	11.1	数组	197
	11.1.1	数组名与元素名	198
	11.1.2	多维数组	199
	11.1.3	存储配置	199
	11.1.4	数组操作	200
	11.1.5	数组的应用	201
	11.2	记录	201
	11.2.1	记录名与域名	202
	11.2.2	记录与数组的比较	202
	11.2.3	记录数组	202
	11.2.4	数组与记录数组	203
	11.3	链表	203
	11.3.1	数组与链表	203
	11.3.2	链表名与节点名	204
	11.3.3	链表操作	205
	11.3.4	链表的应用	211
	11.4	章末材料	212
	11.5	练习	212
第12章	抽象数据类型		214
	12.1	背景	214
	12.1.1	简单抽象数据类型	214
	12.1.2	复杂抽象数据类型	215
	12.1.3	定义	215
	12.1.4	抽象数据类型的模型	215
	12.1.5	实现	215
	12.2	栈	216
	12.2.1	栈的操作	216
	12.2.2	栈的抽象数据类型	217
	12.2.3	栈的应用	217
	12.2.4	栈的实现	219
	12.3	队列	220
	12.3.1	队列的操作	220
	12.3.2	队列抽象数据类型	221
	12.3.3	队列的应用	221
	12.3.4	队列的实现	221
	12.4	广义线性表	222
	12.4.1	广义线性表的操作	223
	12.4.2	广义线性表的抽象数据类型	223
	12.4.3	广义线性表的应用	224
	12.4.4	广义线性表的实现	226
	12.5	树	227
	12.5.1	二叉树	228
	12.5.2	二叉树的操作	228
	12.5.3	二叉树的应用	230
	12.5.4	二叉树的实现	230
	12.5.5	二叉搜索树	230
	12.5.6	二叉搜索树的抽象数据类型	231
	12.5.7	二叉搜索树的实现	231
	12.6	图	232
	12.7	章末材料	232
	12.8	练习	233
			
第13章	文件结构		235
	13.1	引言	235
	13.2	顺序存取	235
	13.1.2	随机存取	236
	13.2	顺序文件	236
	13.3	索引文件	237
	13.4	散列文件	238
	13.4.1	散列方法	239
	13.4.2	冲突	240
	13.5	目录	242
	13.6	文本文件与二进制文件	243
	13.6.1	文本文件	243
	13.6.2	二进制文件	244
	13.7	章末材料	244
	13.8	练习	245
			
第14章	数据库		247
	14.1	引言	247
	14.1.1	定义	247
	14.1.2	数据库的优点	247
	14.1.3	数据库管理系统	248
	14.2	数据库体系结构	249
	14.2.1	内层	249
	14.2.2	概念层	249
	14.2.3	外层一	249
	14.3	数据库模型	249
	14.3.1	层次模型	249
	14.3.2	网状模型	249
	14.3.3	关系模型	250
	14.4	关系数据库模型	250
	14.5	关系的操作	251
	14.5.1	结构化查询语言	251
	14.5.2	插入	251
	14.5.3	删除	251
	14.5.4	更新	252
	14.5.5	选择	252
	14.5.6	投影	253
	14.5.7	连接	253
	14.5.8	并	254
	14.5.9	交	254
	14.5.10	差	254
	14.6	数据库设计	255
	14.6.1	实体关系模型	256
	14.6.2	从ER图至0关系	256
	14.6.3	规范化	257
	14.7	其他数据库模型	258
	14.8	章末材料	259
	14.9	练习	260
			
第15章	数据压缩		263
	15.1	引言	263
	15.2	无损压缩	263
	15.2.1	游程长度编码	264
	15.2.2	赫夫曼编码	265
	15.2.3	LempelZiv编码	266
	15.3	有损压缩方法	270
	15.3.1	图像压缩:JPEG	270
	15.3.2	视频压缩:MPEG	272
	15.3.3	音频压缩	273
	15.4	章末材料	274
	15.5	练习	274
			
第16章	安全		277
	16.1	引言	277
	16.1.1	安全目标	277
	16.1.2	攻击	278
	16.1.3	服务和技术	279
	16.2	机密性	280
	16.2.1	对称密钥密码术	280
	16.2.2	非对称密钥密码术	285
	16.3	其他安全服务	289
	16.3.1	消息完整性	289
	16.3.2	消息验证	290
	16.3.3	数字签名	291
	16.3.4	实体验证	294
	16.3.5	密钥管理	296
	16.4	防火墙	299
	16.4.1	包过滤防火墙	299
	16.4.2	代理防火墙	300
	16.5	章末材料	301
	16.6	练习	301
			
第17章	计算理论		304
	17.1	引言	304
	?17.2	简单语言	304
	17.2.1	递增语句	304
	17.2.2	递减语句	305
	17.2.3	循环语句	305
	17.2.4	简单语言的威力	305
	17.3	图灵机	307
	17.3.1	图灵机组成部件	307
	17.3.2	对简单语言的模拟	309
	17.3.3	邱奇一图灵论题	311
	17.4	歌德尔数	312
	17.4.1	表示一个程序	312
	17.4.2	翻译一个数字	313
	17.5	停机问题	313
	17.6	问题的复杂度	314
	17.6.1	不可解问题	315
	17.6.2	可解问题	315
	17.7	章末材料	316
	17.8	练习	316
			
第18章	人工智能		319
	18.1	引言	319
	18.1.1	什么是人工智能	319
	18.1.2	人工智能简史	319
	18.1.3	图灵测试	319
	18.1.4	智能体	320
	18.1.5	编程语言	320
	18.2	知识表示	320
	18.2.1	语义网	321
	18.2.2	框架	321
	18.2.3	谓词逻辑	322
	18.2.4	基于规则的系统	326
	18.3	专家系统	327
	18.3.1	抽取知识	327
	18.3.2	抽取事实	327
	18.3.3	体系结构	327
	18.4	感知	328
	18.4.1	图像处理	329
	18.4.2	语言理解	331
	18.5	搜索	332
	18.6	神经网络	335
	18.6.1	生物神经元	335
	18.6.2	感知器	336
	18.6.3	多层网络	337
	18.6.4	应用	337
	18.7	章末材料	337
	18.8	练习	338
			
附录AUnicode			341
附录BUML			345
附录C伪代码			353
附录D结构图			356
附录E布尔代数和逻辑电路			359
附录FC、C++和Java程序示例			372
附录G数学知识			379
附录H误差检测和校正			386
缩略语			397
术语表			400