第一部分 数据结构 1
第1章 线性表 11
1.1 线性表的定义和基本操作 11
1.2 线性表的实现 12
1.2.1 顺序存储 12
1.2.2 链式存储 12
1.2.3 线性表的应用 12
第2章 栈、队列和数组 25
2.1 栈和队列的基本概念 26
2.2 栈和队列的顺序存储结构 26
2.3 栈和队列的链式存储结构 27
2.4 栈和队列的应用 27
2.5 特殊矩阵的压缩存储 28
第3章 树与二叉树 36
3.1 树的基本概念 37
3.2 二叉树 38
3.2.1 二叉树的定义及其主要特性 38
3.2.2 二叉树的顺序存储结构和链式存储结构 40
3.2.3 二叉树的遍历 41
3.2.4 线索二叉树的基本概念和构造 45
3.3 树、森林 48
3.3.1 树的存储结构 48
3.3.2 森林与二叉树的转换 50
3.3.3 树和森林的遍历 50
3.4 树和二叉树的应用 51
3.4.1 二叉排序树 51
3.4.2 平衡二叉树 53
3.4.3 哈夫曼(Huffman)树和哈夫曼编码 54
第4章 图 66
4.1 图的基本概念 67
4.2 图的存储及基本操作 68
4.2.1 邻接矩阵法 68
4.2.2 邻接表法 68
4.3 图的遍历 69
4.3.1 深度优先搜索 69
4.3.2 广度优先搜索 69
4.4 图的基本应用 70
4.4.1 最小(代价)生成树 70
4.4.2 最短路径 72
4.4.3 拓扑排序 74
4.4.4 关键路径 74
第5章 查找 84
5.1 查找的基本概念 84
5.2 顺序查找法 85
5.3 折半查找法 85
5.4 B-树及其基本操作、B+树的基本概念 86
5.5 散列(hash)表 86
5.6 查找算法的分析及应用 88
第6章 排序 96
6.1 排序的基本概念 96
6.2 插入排序 99
6.2.1 直接插入排序 99
6.2.2 折半插入排序 100
6.3 起泡排序(Bubble Sort) 100
6.4 简单选择排序 100
6.5 希尔排序(Shell Sort) 100
6.6 快速排序 101
6.7 堆排序 101
6.8 二路归并排序(Merge Sort) 102
6.9 基数排序 102
6.10 各种内部排序算法的比较 102
6.11 内部排序算法的应用 103
第二部分 计算机组成原理 113
第1章 计算机系统概述 117
1.1 计算机发展历程 117
1.2 计算机系统层次结构 118
1.2.1 计算机硬件的基本组成 118
1.2.2 计算机软件的分类 120
1.2.3 计算机的工作过程 120
1.3 计算机性能指标 120
第2章 数据的表示和运算 124
2.1 数制与编码 125
2.1.1 进位计数制及其相互转换 125
2.1.2 真值和机器数 127
2.1.3 BCD码 127
2.1.4 字符与字符串 127
2.1.5 校验码 128
2.2 定点数的表示和运算 130
2.2.1 定点数的表示 130
2.2.2 定点数的运算 130
2.3 浮点数的表示和运算 133
2.3.1 浮点数的表示 133
2.3.2 浮点数的加/减运算 135
2.4 算术逻辑单元ALU 136
2.4.1 串行加法器和并行加法器 136
2.4.2 算术逻辑单ALU的功能和机构 136
第3章 存储器层次结构 147
3.1 存储器的分类 148
3.2 存储器的层次化结构 148
3.3 半导体随机存取存储器 149
3.3.1 SRAM存储器的工作原理 149
3.3.2 DRAM存储器的工作原理 149
3.4 只读存储器 151
3.5 主存储器与CPU的连接 151
3.6 双口RAM和多模块存储器 154
3.7 高速缓冲存储器(cache) 154
3.7.1 程序访问的局部性原理 154
3.7.2 Cache的基本工作原理 154
3.7.3 Cache和主存之间的映射方式 155
3.7.4 Cache中主存块的替换算法 157
3.7.5 Cache写策略 158
3.8 虚拟存储器 158
3.8.1 虚拟存储器的基本概念 158
3.8.2 页式虚拟存储器 159
3.8.3 段式虚拟存储器 160
3.8.4 段页式虚拟存储器 160
3.8.5 TLB(快表) 160
第4章 指令系统 171
4.1 指令格式 171
4.1.1 指令的基本格式 171
4.1.2 定长操作码指令格式 173
4.1.3 扩展操作码指令格式 173
4.2 指令的寻址方式 174
4.2.1 有效地址的概念 174
4.2.2 数据寻址和指令寻址 174
4.2.3 常见寻址方式 174
4.3 CISC和RISC的基本概念 177
第5章 中央处理器(CPU) 187
5.1 CPU的功能和基本结构 188
5.2 指令执行过程 188
5.3 数据通路的功能和基本结构 190
5.4 控制器的功能和工作原理 191
5.4.1 硬布线控制器 191
5.4.2 微程序控制器 192
5.5 指令流水线 196
5.5.1 指令流水线的基本概念 196
5.5.2 超标量和动态流水线的基本概念 197
第6章 总线 208
6.1 总线概述 208
6.1.1 总线的基本概念 208
6.1.2 总线的分类 209
6.1.3 总线的组成及性能指标 209
6.2 总线仲裁 210
6.2.1 集中仲裁方式 210
6.2.2 分布仲裁方式 212
6.3 总线操作和定时 215
6.3.1 同步定时方式 215
6.3.2 异步定时方式 215
6.4 总线标准 216
第7章 输入输出(I/O)系统 223
7.1 I/O系统基本概念 224
7.2 外部设备 224
7.2.1 输入设备:键盘、鼠标 224
7.2.2 输出设备:显示器、打印机 224
7.2.3 外存储器:硬盘存储器、磁盘阵列、光盘存储器 224
7.3 I/O接口(I/O控制器) 225
7.3.1 I/O接口的功能和基本结构 225
7.3.2 I/O端口及其编址 226
7.4 I/O方式 226
7.4.1 程序查询方式 226
7.4.2 程序中断方式 226
7.4.3 DMA方式 230
7.4.4 通道方式 232
第三部分 操作系统 241
第1章 操作系统概述 245
1.1 操作系统的概念、特征、功能和提供的服务 246
1.2 操作系统的发展与分类 246
1.3 操作系统的运行环境 250
第2章 进程管理 254
2.1 进程与线程 255
2.1.1 进程概念 255
2.1.2 进程的状态与转换 255
2.1.3 进程控制 256
2.1.4 进程组织 257
2.1.5 进程通信 257
2.1.6 线程概念与多线程模型 259
2.2 处理机调度 259
2.2.1 调度的基本概念 259
2.2.2 调度时机、切换与过程 260
2.2.3 调度的基本准则 260
2.2.4 调度方式 261
2.2.5 典型调度算法 262
2.3 进程同步 263
2.3.1 进程同步的基本概念 263
2.3.2 实现临界区互斥的基本方法 264
2.3.3 信号量 265
2.3.4 管程 266
2.3.5 经典同步问题 266
2.4 死锁 271
2.4.1 死锁概念 271
2.4.2 死锁处理策略 272
2.4.3 死锁预防 272
2.4.4 死锁避免 273
2.4.5 死锁检测和解除 279
第3章 内存管理 291
3.1 内存管理基础 292
3.1.1 内存管理概念 292
3.1.2 交换与覆盖 293
3.1.3 连续分配管理方式 294
3.1.4 非连续分配管理方式 295
3.2 虚拟内存管理 296
3.2.1 虚拟内存基本概念 296
3.2.2 请求分页管理方式 296
3.2.3 页面置换算法 297
3.2.4 页面分配策略 298
3.2.5 抖动 298
3.2.6 请求分段管理方式 299
3.2.7 请求段页式管理方式 299
第4章 文件管理 305
4.1 文件系统基础 305
4.1.1 文件概念 305
4.1.2 文件的逻辑结构 306
4.1.3 目录结构 307
4.1.4 文件共享 309
4.1.5 文件保护 310
4.2 文件系统实现 310
4.2.1 文件系统层次结构 310
4.2.2 目录实现 311
4.2.3 文件实现 311
4.3 磁盘组织与管理 312
4.3.1 磁盘的结构 312
4.3.2 磁盘调度算法 313
4.3.3 磁盘管理 313
第5章 输入输出(I/O)管理 317
5.1 I/O管理概述 318
5.1.1 I/O设备 318
5.1.2 I/O管理目标 318
5.1.3 I/O管理功能 318
5.1.4 I/O应用接口 319
5.1.5 I/O控制方式 319
5.2 I/O核心子系统 319
5.2.1 I/O调度概念 319
5.2.2 高速缓存与缓冲区 320
5.2.3 设备分配与回收 320
5.2.4 假脱机技术(SPOOLing) 321
5.2.5 出错处理 321
第四部分 计算机网络 327
第1章 计算机网络体系结构 331
1.1 计算机网络概述 331
1.1.1 计算机网络的概念、组成与功能 331
1.1.2 计算机网络的分类 331
1.1.3 计算机网络与互联网的发展历史 332
1.1.4 计算机网络的标准化工作及相关组织 332
1.2 计算机网络体系结构与参考模型 332
1.2.1 计算机网络分层结构 332
1.2.2 计算机网络协议、接口、服务等概念 332
1.2.3 ISO/OSI参考模型和TCP/IP模型 333
第2章 物理层 338
2.1 通信基础 338
2.1.1 信道、信号、宽带、码元、波特、速率等基本概念 338
2.1.2 奈奎斯特定理与香农定理 339
2.1.3 编码与调制 339
2.1.4 电路交换、报文交换与分组交换 339
2.1.5 数据报与虚电路 340
2.2 传输介质 341
2.2.1 双绞线、同轴电缆、光纤与无线传输介质 341
2.2.2 物理层接口的特性 341
2.3 物理层设备 341
2.3.1 中继器 341
2.3.2 集线器 342
第3章 数据链路层 347
3.1 数据链路层的功能 348
3.2 组帧 349
3.3 差错控制 349
3.3.1 检错编码 349
3.3.2 纠错编码 349
3.4 流量控制与可靠传输机制 350
3.4.1 流量控制、可靠传输与滑动窗口机制 350
3.4.2 单帧滑动窗口与停止-等待协议 350
3.4.3 多帧滑动窗口与后退N帧协议(GBN) 351
3.4.4 多帧滑动窗口与选择重传协议(SR) 352
3.5 介质访问控制 353
3.5.1 信道划分介质访问控制 353
3.5.2 随机访问介质访问控制 354
3.5.3 轮询访问介质访问控制:令牌传递协议 356
3.6 局域网 356
3.6.1 局域网的基本概念与体系结构 356
3.6.2 以太网与IEEE 802.3 357
3.6.3 IEEE 802.11 358
3.6.4 令牌环网的基本原理 358
3.7 广域网 359
3.7.1 广域网的基本概念 359
3.7.2 PPP协议 359
3.7.3 HDLC协议 359
3.7.4 ATM网络基本原理 360
3.8 数据链路层设备 360
3.8.1 网桥的概念及工作原理 360
3.8.2 局域网交换机及其工作原理 361
第4章 网络层 369
4.1 网络层的功能 370
4.1.1 异构网络互联 370
4.1.2 路由与转发 370
4.1.3 拥塞控制 371
4.2 路由算法 372
4.2.1 静态路由与动态路由 372
4.2.2 距离-向量路由算法 372
4.2.3 链路状态路由算法 373
4.2.4 层次路由 373
4.3 IPv4 373
4.3.1 IPv4分组 373
4.3.2 IPv4地址与NAT 373
4.3.3 子网划分与子网掩码、CIDR 374
4.3.4 ARP协议、DHCP协议与ICMP协议 377
4.4 IPv6 378
4.4.1 IPv6的主要特点 378
4.4.2 IPv6地址 379
4.5 路由协议 379
4.5.1 自治系统 379
4.5.2 域内路由与域间路由 380
4.5.3 RIP路由协议 380
4.5.4 OSPF路由协议 381
4.5.5 BGP路由协议 381
4.6 IP组播 382
4.6.1 组播的概念 382
4.6.2 IP组播地址 382
4.6.3 组播路由算法 382
4.7 移动IP 384
4.7.1 移动IP的概念 384
4.7.2 移动IP的通信过程 384
4.8 网络层设备 385
4.8.1 路由器的组成和功能 385
4.8.2 路由表与路由转发 386
第5章 传输层 397
5.1 传输层提供的服务 397
5.1.1 传输层的功能 397
5.1.2 传输层寻址与端口 398
5.1.3 无连接服务与面向连接服务 398
5.2 UDP协议 398
5.2.1 UDP数据报 398
5.2.2 UDP校验 399
5.3 TCP协议 399
5.3.1 TCP段 399
5.3.2 TCP连接管理 399
5.3.3 TCP可靠传输 400
5.3.4 TCP流量控制与拥塞控制 400
第6章 应用层 406
6.1 网络应用模型 407
6.1.1 客户/服务器模型 407
6.1.2 P2P模型 407
6.2 DNS系统 407
6.2.1 层次域名空间 407
6.2.2 域名服务器 407
6.2.3 域名解析过程 408
6.3 FTP 409
6.3.1 FTP协议的工作原理 409
6.3.2 控制连接与数据连接 410
6.4 电子邮件 410
6.4.1 电子邮件系统的组成结构 410
6.4.2 电子邮件格式与MIME 411
6.4.3 SMTP协议与POP3协议 411
6.5 WWW 413
6.5.1 WWW的概念与组成结构 413
6.5.2 HTTP协议 413
附录 416
2010年全国硕士研究生入学统一考试计算机学科专业基础综合试题 416
2010年全国硕士研究生入学统一考试计算机学科专业基础综合试题答案 424
2009年全国硕士研究生入学统一考试计算机学科专业基础综合试题 437
2009年全国硕士研究生入学统一考试计算机学科专业基础综合试题答案 444