第1章 绪论 1
1.1 什么是计算 1
1.1.1 计算 1
1.1.2 可计算性 3
1.1.3 问题的复杂性 4
1.2 计算工具的发展和电子计算机的诞生 5
1.2.1 手工计算工具 5
1.2.2 机械式计算机 8
1.2.3 电子计算机的诞生 11
1.3 计算科学 13
1.3.1 计算学科的定义 14
1.3.2 计算学科的三个学科形态 14
1.3.3 计算学科的基本概念 15
1.4 计算科学研究与应用 18
1.4.1 人工智能 18
1.4.2 云计算和网格计算 19
1.4.3 普适计算 21
习题1 23
第2章 信息的表示与存储 24
2.1 信息和信息的表示方法 24
2.1.1 信息、信息量和信息的表示 24
2.1.2 进位计数制和数的表示 29
2.1.3 二进制数的运算 41
2.1.4 非数值信息的表示 44
2.2 信息的存储 54
2.2.1 布尔运算 54
2.2.2 门电路和触发器 57
2.2.3 存储器的结构 60
2.2.4 存储器的发展 63
2.3 数据压缩 65
2.3.1 数据压缩的可能性——信息熵 65
2.3.2 基本压缩方法 66
2.3.3 图像和音视频的压缩 70
习题2 72
第3章 数据的组织与管理 74
3.1 数据与数据结构 74
3.1.1 数据结构概述 74
3.1.2 线性表 79
3.1.3 树形结构 86
3.1.4 图结构 90
3.2 数据库技术 94
3.2.1 数据管理技术 94
3.2.2 数据库管理系统 96
3.2.3 关系数据库 98
3.2.4 结构化查询语言SQL 100
习题3 105
第4章 程序设计语言和算法 107
4.1 计算机语言 107
4.1.1 计算机语言的发展 107
4.1.2 计算机语言的组成 110
4.1.3 计算机语言的实现 120
4.2 算法 121
4.2.1 算法基本概念 121
4.2.2 查找算法 129
4.2.3 排序算法 137
4.3 算法策略 141
4.3.1 枚举法 141
4.3.2 递归法 147
4.3.3 分治法 152
4.3.4 回溯法 160
4.3.5 贪心算法 169
习题4 176
第5章 信息的传输 178
5.1 通信与协议 178
5.1.1 通信系统 178
5.1.2 网络协议 182
5.1.3 网络体系结构 187
5.2 数据通信 197
5.2.1 编码与解码 197
5.2.2 检错与纠错 200
5.2.3 同步技术 206
5.2.4 复用技术 208
5.3 网络结构 212
5.3.1 网络结构 212
5.3.2 网络地址 215
5.3.3 网络互连 218
5.4 模型与服务 226
5.4.1 应用模型 226
5.4.2 传统服务 229
5.5 网络安全 239
5.5.1 加密 239
5.5.2 用户认证 247
5.5.3 数字签名 249
习题5 252
第6章 计算机系统 254
6.1 计算机结构 254
6.1.1 图灵机 254
6.1.2 冯·诺依曼计算机 261
6.1.3 其他结构计算机 267
6.2 微型计算机系统 268
6.2.1 系统组成 268
6.2.2 主机系统 273
6.2.3 存储系统 279
6.2.4 输入/输出系统 284
6.2.5 性能指标 288
6.2.6 操作系统 291
习题6 307
参考文献 308