《计算机科学导论学习指导与习题解答》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)雷诺兹,(美)泰曼著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302222675
  • 页数:273 页
图书介绍:本书首先介绍计算机的概念以及计算的发展历史,然后分别介绍计算机科学的重要分支,包括算法、程序设计、程序设计语言、计算机硬件、网络、操作系统等,为学生今后深入学习其他计算机专业课程打下坚实的基础。

第1章 计算机科学简介 1

1.1 什么是计算机科学 1

1.2 计算的发展历史 5

1.3 路标 12

复习题 13

第2章 算法 15

2.1 算法的定义 15

2.2 示例——设计楼梯 15

2.3 示例——求最大公约数 16

2.4 利用伪代码表示算法 17

2.5 表征算法 17

2.6 分析算法 18

2.6.1 插入排序——增长级为n2的示例——Θ(n2) 19

2.6.2 归并排序——增长级为n(lg n)的示例——Θ(n lg n) 21

2.6.3 折半查找——增长级为(lg n)的示例——Θ(lg n) 26

2.6.4 难以处理的问题 27

2.7 作为技术的算法 29

2.8 计算的形式化模型 30

2.9 邱奇-图灵论题(Church-Turing thesis) 33

2.10 无法解决的问题 34

2.11 小结 35

复习题 36

第3章 计算机组织结构 37

3.1 冯·诺依曼体系结构 37

3.2 数据表示 37

3.3 计算机的字长 39

3.4 整数数据格式 40

3.5 实数格式 40

3.6 字符格式 42

3.7 CPU/ALU 43

3.8 指令集 44

3.9 存储器 47

3.10 输入和输出(I/O) 49

3.11 小结 51

复习题 52

第4章 软件 54

4.1 程序设计语言的发展史 54

4.2 编译器和解释器 58

4.3 虚拟机 61

4.4 过程式程序设计 61

4.5 面向对象程序设计 63

4.6 脚本语言 66

4.7 函数式语言 69

4.8 语言设计 74

4.9 语言的语法和语义 76

4.10 小结 80

复习题 81

第5章 Java程序设计 83

5.1 简介 83

5.2 Java类型 83

5.3 数组 87

5.4 Java运算符 88

5.5 Java标识符 89

5.6 基本控制结构 90

5.6.1 if 90

5.6.2 for 91

5.6.3 while 92

5.6.4 do-while 93

5.6.5 switch 94

5.7 面向对象程序设计 97

5.8 类和对象 98

5.9 对象状态和行为 99

5.10 继承 99

5.11 实例、静态变量和方法 100

5.12 多态性 105

5.13 接口 106

5.14 错误处理 107

5.15 输入和输出 111

5.16 Scanner类 116

5.17 PrintWriter类 117

5.18 小结 118

复习题 119

第6章 操作系统 121

6.1 硬件的能力 121

6.2 操作系统的发展史 123

6.2.1 批处理作业 123

6.2.2 多道程序设计(20世纪60年代中期) 124

6.2.3 分时(20世纪70年代和80年代) 125

6.3 从单用户操作系统到网络操作系统 125

6.4 多处理器操作系统 125

6.5 实时操作系统 126

6.6 嵌入式系统 126

6.7 输入和输出管理 127

6.7.1 程控I/O 127

6.7.2 中断驱动的I/O 128

6.7.3 直接内存访问 128

6.7.4 存储器映射的I/O 129

6.8 进程和调度 129

6.9 线程 131

6.10 同步 133

6.11 信号 136

6.12 管程 138

6.13 死锁 142

6.13.1 预防死锁 143

6.13.2 避免死锁 144

6.13.3 检测死锁 144

6.13.4 死锁恢复 146

6.14 调度 147

6.14.1 先来先服务(FCFS) 147

6.14.2 最短作业优先(SJF) 147

6.14.3 最短剩余作业优先(SRJF) 148

6.14.4 轮询(RR) 148

6.14.5 基于优先级 148

6.14.6 多级队列 149

6.14.7 多级反馈队列 149

6.15 存储器管理 149

6.16 多道程序设计的存储器管理 150

6.17 分时与交换 151

6.18 虚拟内存 152

6.18.1 分页 152

6.18.2 使用分页的虚拟内存 153

6.18.3 虚拟内存的问题和解决方案 154

6.18.4 页替换算法 156

6.19 文件系统 157

6.19.1 文件类型 157

6.19.2 文件系统单元 158

6.19.3 目录和目录项 158

6.19.4 文件空间分配 159

6.19.5 日志文件系统 160

6.20 小结 160

复习题 161

第7章 联网 163

7.1 简介 163

7.2 参考模型 164

7.3 子网(数据链路)层 166

7.4 互联网(网络)层协议 167

7.5 端到端(传输)层协议 169

7.6 应用层 170

7.7 归纳总结 170

7.8 WWW、HTTP和HTML 171

7.9 小结 176

复习题 177

第8章 数据库 179

8.1 无所不在的数据库 179

8.2 数据库类型 179

8.3 使用数据库的优点 180

8.4 数据域的建模 181

8.5 从数据模型构建关系数据库 185

8.6 规范化 187

8.7 SQL——结构化查询语言 190

8.8 DDL——数据定义语言 190

8.9 DML——数据操纵语言 193

8.10 存储过程 202

8.11 触发器 205

8.12 数据完整性 206

8.13 事务隔离级别 208

8.14 以编程方式访问数据库 209

8.15 小结 213

复习题 214

第9章 社会问题 217

9.1 伦理学理论 217

9.2 知识产权 219

9.2.1 商标和服务标志 220

9.2.2 商业秘密 220

9.2.3 专利权 221

9.2.4 版权 222

9.3 隐私权 223

9.4 加密术 224

9.5 病毒、蠕虫和特洛伊木马 225

9.6 黑客 226

9.7 计算机可以谋杀吗 227

9.8 小结 230

复习题 231

附录——复习题答案 232

第1章 计算机科学简介 232

第2章 算法 234

第3章 计算机组织结构 237

第4章 软件 240

第5章 Java程序设计 243

第6章 操作系统 256

第7章 联网 261

第8章 数据库 263

第9章 社会问题 271