《编程导论》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)谷泰格著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115388018
  • 页数:270 页
图书介绍:本书基于MIT的一门课程写成,主要目标是帮助读者掌握并熟练使用各种计算技术。本书涵盖了Python的大部分特性,重点介绍如何使用Python这门语言,共包含编程基础、Python程序设计语言、理解计算的关键概念、计算问题的解决技术等四个方面。本书将Python语言特性和编程方法贯穿全书,目的是帮助读者在学习Python的同时掌握如何使用计算来解决有趣的问题。

第1章 起步 1

第2章 Python介绍 6

2.1 Python的基本元素 7

2.1.1 对象、表达式和数值类型 8

2.1.2 变量和赋值 9

2.1.3 IDLE 11

2.2 分支程序 12

2.3 字符串和输出 14

2.4 循环 16

第3章 一些简单的数值类程序 19

3.1 穷举法 19

3.2 for循环 21

3.3 近似解和二分查找 23

3.4 关于浮点数 26

3.5 牛顿-拉夫逊方法 28

第4章 函数、作用域和规范抽象 30

4.1 函数和作用域 31

4.1.1 函数定义 31

4.1.2 关键字参数和默认值 32

4.1.3 作用域 33

4.2 规范 36

4.3 递归 39

4.3.1 斐波那契数 40

4.3.2 文和分治 42

4.4 全局变量 44

4.5 模块 45

4.6 文件 47

第5章 结构化类型、可变性和高阶函数 49

5.1 元组 49

5.2 列表和可变性 51

5.2.1 克隆 55

5.2.2 列表解析 56

5.3 数对象 57

5.4 字符串、元组和列表 58

5.5 字典 59

第6章 测试和调试 63

6.1 测试 63

6.1.1 黑盒测试 64

6.1.2 白盒测试 66

6.1.3 执行测试 67

6.2 调试 68

6.2.1 学习调试 70

6.2.2 设计实验 71

6.2.3 如果遇到阻碍 73

6.2.4 找到“目标”错误之后 74

第7章 异常和断言 75

7.1 处理异常 75

7.2 把异常当作控制流来使用 78

7.3 断言 81

第8章 类和面向对象编程 82

8.1 抽象的数据类型和类 82

8.1.1 使用抽象的数据类型来设计程序 86

8.1.2 使用类来记录学生和教师 86

8.2 继承 88

8.2.1 多层继承 90

8.2.2 替代法则 92

8.3 封装和信息隐藏 92

8.4 进阶实例:抵押贷款 97

第9章 算法复杂度简介 101

9.1 思考计算复杂度 101

9.2 渐近表示 104

9.3 一些重要的复杂度 105

9.3.1 常数复杂度 105

9.3.2 对数复杂度 106

9.3.3 线性复杂度 106

9.3.4 对数线性复杂度 107

9.3.5 多项式复杂度 107

9.3.6 指数复杂度 108

9.3.7 复杂度对比 110

第10章 一些简单的算法和数据结构 112

10.1 搜索算法 113

10.1.1 线性搜索和间接访问元素 113

10.1.2 二分查找和利用假设 114

10.2 排序算法 117

10.2.1 归并排序 118

10.2.2 把函数当做参数 120

10.2.3 Python中的排序 121

10.3 散列表 122

第11章 绘图以及类的扩展内容 126

11.1 使用PyLab绘图 126

11.2 扩展实例:绘制抵押贷款 131

第12章 随机算法、概率以及统计 137

12.1 随机程序 138

12.2 统计推断和模拟 139

12.3 分布 149

12.3.1 正态分布和置信水平 151

12.3.2 均匀分布 154

12.3.3 指数分布和几何分布 154

12.3.4 本福德分布 156

12.4 强队的获胜概率 157

12.5 散列和碰撞 160

第13章 随机游动和数据可视化 163

13.1 醉汉游动 163

13.2 有偏随机游动 169

13.3 危机重重的田地 175

第14章 蒙特卡罗模拟 177

14.1 帕斯卡的问题 178

14.2 过还是不过 179

14.3 使用查表提高性能 182

14.4 寻找π 183

14.5 模拟模型的结束语 187

第15章 理解实验数据 189

15.1 弹簧的行为 189

15.2 弹丸的行为 196

15.2.1 决定系数 198

15.2.2 使用计算模型 199

15.3 拟合指数分布 200

15.4 当理论缺失时 203

第16章 谎言和统计 205

16.1 垃圾输入只能产生垃圾输出 205

16.2 图表会骗人 206

16.3 与此谬误 208

16.4 统计方法并不能代替数据 209

16.5 抽样偏差 210

16.6 语境问题 211

16.7 当心外推法 212

16.8 得克萨斯神枪手谬误 213

16.9 百分比会说谎 215

16.10 小心谨慎 215

第17章 背包和图的最优化问题 216

17.1 背包问题 216

17.1.1 贪婪算法 217

17.1.2 0/1背包问题的最优解法 219

17.2 图的最优化问题 222

17.2.1 一些典型的图论问题 226

17.2.2 疾病传播和最小割 227

17.2.3 最短路径、深度优先搜索和广度优先搜索 227

第18章 动态规划 233

18.1 斐波那契数列 233

18.2 动态规划和0/1背包问题 235

18.3 动态规划和分治 241

第19章 机器学习简介 242

19.1 特征向量 244

19.2 距离度量 245

19.3 聚类 249

19.4 类型示例和聚类 250

19.5 K-means聚类 253

19.6 人造案例 255

19.7 稍微真实一些的示例 259

19.8 小结 265

附录 Python 2.7 快速参考 266