《计算机科学导论 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)佛罗赞(Forouzan,B.),莫沙拉夫(Mosharraf,F.)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111131595
  • 页数:390 页
图书介绍:本书全面介绍计算机科学的基础知识。

第1章 绪论 1

1.1 图灵模型 1

1.1.1 数据处理器 1

1.1.2 可编程数据处理器 2

1.1.3 通用图灵机 2

1.2 冯·诺伊曼模型 3

1.2.1 4个子系统 3

1.2.2 存储的程序概念 3

1.2.3 指令的顺序执行 4

1.3 计算机组成 4

1.3.1 计算机硬件 4

1.3.2 数据 4

1.3.3 计算机软件 4

1.4 历史 6

1.4.1 机械计算机器(1930年以前) 6

1.4.2 电子计算机的诞生(1930~1950年) 6

1.4.3 计算机的诞生(1950年至今) 7

1.5 社会问题和道德问题 7

1.5.1 社会问题 8

1.5.2 道德问题 8

1.6 计算机科学作为一门学科 8

1.7 课程纲要 9

1.8 推荐读物 9

1.9 关键术语 9

1.10 小结 10

1.11 练习 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.5 4种位置化系统小结 16

2.2.6 转换 17

2.3 非位置化数字系统 22

2.4 推荐读物 23

2.5 关键术语 23

2.6 小结 24

2.7 练习 24

第3章 数据存储 28

3.1 数据类型 28

3.2 存储数字 30

3.2.1 存储整数 30

3.2.2 存储实数 36

3.3 存储文本 41

3.4 存储音频 42

3.4.1 采样 43

3.4.2 量化 43

3.4.3 编码 43

3.4.4 声音编码标准 43

3.5 存储图像 44

3.5.1 光栅图 44

3.5.2 矢量图 45

3.6 存储视频 45

3.7 推荐读物 45

3.8 关键术语 46

3.9 小结 46

3.10 练习 47

第4章 数据运算 51

4.1 逻辑运算 51

4.1.1 位层次上的逻辑运算 51

4.1.2 模式层次上的逻辑运算 53

4.2 移位运算 54

4.2.1 逻辑移位运算 55

4.2.2 算术移位运算 55

4.3 算术运算 56

4.3.1 整数的算术运算 56

4.3.2 实数的算术运算 60

4.4 推荐读物 63

4.5 关键术语 63

4.6 小结 63

4.7 练习 64

第5章 计算机组成 67

5.1 中央处理单元 67

5.1.1 算术逻辑单元 68

5.1.2 寄存器 68

5.1.3 控制单元 69

5.2 主存储器 69

5.2.1 地址空间 69

5.2.2 存储器的类型 70

5.2.3 存储器的层次结构 71

5.2.4 高速缓冲存储器 71

5.3 输入/输出子系统 72

5.3.1 非存储设备 72

5.3.2 存储设备 72

5.4 子系统的互连 76

5.4.1 CPU和存储器的连接 76

5.4.2 I/O设备的连接 77

5.4.3 输入/输出设备的寻址 79

5.5 程序执行 80

5.5.1 机器周期 80

5.5.2 输入/输出操作 81

5.6 不同的体系结构 83

5.6.1 CISC 83

5.6.2 RISC 83

5.6.3 流水线 83

5.6.4 并行处理 84

5.7 简单计算机 86

5.7.1 指令集 87

5.7.2 处理指令 88

5.7.3 一个例子 88

5.7.4 另一个例子 92

5.8 推荐读物 93

5.9 关键术语 93

5.10 小结 94

5.11 练习 95

第6章 计算机网络 98

6.1 引言 98

6.1.1 网络标准 98

6.1.2 物理结构 98

6.1.3 网络分类 100

6.1.4 互联网 101

6.1.5 因特网 101

6.2 TCP/IP协议族 102

6.3 层 103

6.3.1 应用层 103

6.3.2 传输层 104

6.3.3 网络层 107

6.3.4 数据链路层 109

6.3.5 物理层 111

6.3.6 层的总结 111

6.4 因特网应用 112

6.4.1 电子邮件 112

6.4.2 文件传输协议 115

6.4.3 远程登录——TELNET 115

6.4.4 万维网 116

6.4.5 其他因特网应用 121

6.5 推荐读物 123

6.6 关键术语 123

6.7 小结 124

6.8 练习 125

第7章 操作系统 127

7.1 引言 127

7.2 演化 128

7.2.1 批处理系统 128

7.2.2 分时系统 128

7.2.3 个人系统 129

7.2.4 并行系统 129

7.2.5 分布式系统 129

7.2.6 实时系统 129

7.3 组成部分 129

7.3.1 用户界面 130

7.3.2 内存管理器 130

7.3.3 进程管理器 132

7.3.4 设备管理器 136

7.3.5 文件管理器 137

7.4 主流操作系统 137

7.4.1 UNIX 137

7.4.2 Linux 138

7.4.3 Windows NT/2000/XP 139

7.5 推荐读物 140

7.6 关键术语 140

7.7 小结 141

7.8 练习 141

第8章 算法 144

8.1 概念 144

8.1.1 非正式定义 144

8.1.2 示例 144

8.1.3 定义动作 145

8.1.4 细化 145

8.1.5 泛化 146

8.2 三种结构 146

8.2.1 顺序 147

8.2.2 判断 147

8.2.3 循环 147

8.3 算法的表示 147

8.3.1 UML 147

8.3.2 伪代码 148

8.4 更正式的定义 150

8.4.1 有序集合 150

8.4.2 明确步骤 150

8.4.3 产生结果 150

8.4.4 在有限的时间内终止 150

8.5 基本算法 150

8.5.1 求和 151

8.5.2 乘积 151

8.5.3 最大和最小 151

8.5.4 排序 151

8.5.5 查找 155

8.6 子算法 156

8.7 递归 157

8.7.1 迭代的定义 157

8.7.2 递归的定义 157

8.8 推荐读物 159

8.9 关键术语 159

8.10 小结 159

8.11 练习 160

第9章 程序设计语言 163

9.1 演化 163

9.1.1 机器语言 163

9.1.2 汇编语言 164

9.1.3 高级语言 164

9.2 翻译 165

9.2.1 编译 165

9.2.2 解释 165

9.2.3 翻译过程 165

9.3 编程模式 166

9.3.1 过程式模式 166

9.3.2 面向对象模式 169

9.3.3 函数式模式 170

9.3.4 说明式模式 171

9.4 共同概念 172

9.4.1 标识符 172

9.4.2 数据类型 172

9.4.3 变量 173

9.4.4 字面值 173

9.4.5 常量 173

9.4.6 输入和输出 174

9.4.7 表达式 174

9.4.8 语句 175

9.4.9 子程序 177

9.5 推荐读物 179

9.6 关键术语 179

9.7 小结 180

9.8 练习 181

第10章 软件工程 183

10.1 软件生命周期 183

10.2 分析阶段 184

10.2.1 面向过程分析 185

10.2.2 面向对象分析 186

10.3 设计阶段 187

10.3.1 面向过程设计 187

10.3.2 面向对象设计 187

10.4 实现阶段 188

10.4.1 语言的选择 188

10.4.2 软件质量 188

10.5 测试阶段 189

10.5.1 白盒测试 189

10.5.2 黑盒测试 191

10.6 文档 191

10.6.1 用户文档 191

10.6.2 系统文档 191

10.6.3 技术文档 192

10.7 推荐读物 192

10.8 关键术语 192

10.9 小结 192

10.10 练习 193

第11章 数据结构 195

11.1 数组 195

11.1.1 数组名与元素名 197

11.1.2 多维数组 197

11.1.3 存储配置 197

11.1.4 数组操作 198

11.1.5 数组的应用 199

11.2 记录 199

11.2.1 记录名与域名 200

11.2.2 记录与数组的比较 200

11.2.3 记录数组 200

11.2.4 数组与记录数组 201

11.3 链表 201

11.3.1 数组与链表 202

11.3.2 链表名与节点名 202

11.3.3 链表操作 203

11.3.4 链表的应用 210

11.4 推荐读物 210

11.5 关键术语 210

11.6 小结 210

11.7 练习 211

第12章 抽象数据类型 213

12.1 背景 213

12.1.1 简单抽象数据类型 213

12.1.2 复杂抽象数据类型 213

12.1.3 定义 214

12.1.4 抽象数据类型的模型 214

12.1.5 实现 214

12.2 栈 215

12.2.1 栈的操作 215

12.2.2 栈的抽象数据类型 216

12.2.3 栈的应用 216

12.2.4 栈的实现 218

12.3 队列 218

12.3.1 队列的操作 219

12.3.2 队列的抽象数据类型 220

12.3.3 队列的应用 220

12.3.4 队列的实现 221

12.4 广义线性表 222

12.4.1 广义线性表的操作 222

12.4.2 广义线性表的抽象数据类型 224

12.4.3 广义线性表的应用 224

12.4.4 广义线性表的实现 225

12.5 树 226

12.6 二叉树 227

12.6.1 二叉树的递归定义 227

12.6.2 二叉树的操作 227

12.6.3 二叉树的应用 229

12.6.4 二叉树的实现 229

12.7 二叉搜索树 229

12.7.1 二叉搜索树的抽象数据类型 230

12.7.2 二叉搜索树的实现 230

12.8 图 231

12.9 推荐读物 231

12.10 关键术语 232

12.11 小结 232

12.12 练习 233

第13章 文件结构 235

13.1 存取方法 235

13.1.1 顺序存取 235

13.1.2 随机存取 235

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 文本文件 244

13.6.2 二进制文件 244

13.7 推荐读物 244

13.8 关键术语 244

13.9 小结 245

13.10 练习 245

第14章 数据库 248

14.1 引言 248

14.1.1 定义 248

14.1.2 数据库的优点 248

14.2 数据库管理系统 249

14.3 数据库体系结构 250

14.3.1 内层 250

14.3.2 概念层 250

14.3.3 外层 250

14.4 数据库模型 250

14.4.1 层次模型 250

14.4.2 网状模型 251

14.4.3 关系模型 251

14.5 关系数据库模型 251

14.6 关系的操作 252

14.6.1 结构化查询语言 252

14.6.2 插入 252

14.6.3 删除 253

14.6.4 更新 253

14.6.5 选择 253

14.6.6 投影 254

14.6.7 连接 254

14.6.8 并 254

14.6.9 交 255

14.6.10 差 256

14.7 数据库设计 257

14.7.1 实体关系模型 257

14.7.2 从E-R图到关系 257

14.7.3 规范化 258

14.8 其他数据库模型 259

14.8.1 分布式数据库 259

14.8.2 面向对象数据库 260

14.9 推荐读物 260

14.10 关键术语 261

14.11 小结 261

14.12 练习 262

第15章 数据压缩 264

15.1 无损压缩 264

15.1.1 游程长度编码 265

15.1.2 赫夫曼编码 265

15.1.3 Lempel Ziv编码 267

15.2 有损压缩 270

15.2.1 图像压缩:JEPG 270

15.2.2 视频压缩:MPEG 272

15.2.3 音频压缩 273

15.3 推荐读物 274

15.4 关键术语 274

15.5 小结 274

15.6 练习 275

第16章 安全 277

16.1 引言 277

16.1.1 安全目标 277

16.1.2 攻击 278

16.1.3 安全服务 279

16.1.4 技术 279

16.2 对称密钥密码术 280

16.2.1 传统密码 281

16.2.2 现代对称密钥密码 282

16.3 非对称密钥密码术 283

16.4 对称密钥方法和非对称密钥方法的比较 284

16.4.1 秘密记号的数目 284

16.4.2 两个系统的一个共同需要 285

16.5 其他安全服务 285

16.5.1 消息完整性 285

16.5.2 消息验证 286

16.5.3 数字签名 287

16.5.4 实体验证 290

16.6 密钥管理 291

16.6.1 对称密钥分发 291

16.6.2 公钥分发 292

16.7 推荐读物 293

16.8 关键术语 293

16.9 小结 294

16.10 练习 294

第17章 计算理论 297

17.1 简单语言 297

17.1.1 递增语句 297

17.1.2 递减语句 298

17.1.3 循环语句 298

17.1.4 简单语言的威力 298

17.2 图灵机 300

17.2.1 图灵机组成部件 300

17.2.2 对简单语言的模拟 302

17.2.3 邱奇-图灵论题 306

17.3 歌德尔数 306

17.3.1 表示一个程序 307

17.3.2 翻译一个数字 307

17.4 停机问题 307

17.5 可解问题和不可解问题 309

17.5.1 不可解问题 309

17.5.2 可解问题 309

17.5.3 可解问题的复杂度 309

17.6 推荐读物 310

17.7 关键术语 310

17.8 小结 310

17.9 练习 311

第18章 人工智能 313

18.1 引言 313

18.1.1 什么是人工智能 313

18.1.2 人工智能简史 313

18.1.3 图灵测试 313

18.1.4 智能体 314

18.1.5 编程语言 314

18.2 知识表示 314

18.2.1 语义网 314

18.2.2 框架 315

18.2.3 谓词逻辑 316

18.2.4 基于规则的系统 320

18.3 专家系统 321

18.3.1 抽取知识 321

18.3.2 抽取事实 321

18.4 感知 322

18.4.1 图像处理 323

18.4.2 语言理解 324

18.5 搜索 326

18.6 神经网络 329

18.6.1 生物神经元 330

18.6.2 感知器 330

18.6.3 多层网络 331

18.6.4 应用 331

18.7 推荐读物 331

18.8 关键术语 331

18.9 小结 332

18.10 练习 332

附录A Unicode 335

附录B UML 339

附录C 伪代码 348

附录D 结构图 351

附录E 布尔代数和逻辑电路 354

附录F C、C++和Java程序示例 367

附录G 数学复习 374

附录H 错误检测和纠正 380