跳到主要内容

编程导论

epsilon 近似解和真实解相比应小于的一个常数。

牛顿-拉夫逊方法

数据类型

  • 元组、有序,元素任意类型,不可改变
  • 列表、可变
  • 列表解析
  • 列表克隆 list[:]
  • 字典

测试

测试套件 == 输入集合

单元测试,集成测试

SAQ 软件质量保证小组

防御性编程:显示、隐示、持续、间断

异常和断言

未处理异常,

try ... except

异常元组: except(item1, item2);

异常作为控制流使用

type 类型,面向对象

使用抽像类定义函数

生成器

算法复杂度

概念复杂度 vs 计算复杂度

渐近表示 与 大 O 表示 法

常见 大O 表示复杂度

  • 常数复杂度 O(n)
  • 对数复杂度 O(logn)
  • 线性复杂度 n
  • 线性对数复杂度 n * logn
  • 多项式复杂度 n^k k 为常数
  • 指数复杂度 c^n c常数

一些简单算法与数据结构

高效算法很难发明,科学家整个生涯可能只解决了一个算法。

选择排序 n^2

归并排序 n*logn

合并原始问题分解出的简单问题

python 中的排序 TimSort

散列函数

大输入空间映射到小的输出空间。

python 可视化绘图 pylab

随机算法,概率,统计

牛顿力学,量子力学,

上帝不掷股子 --爱因斯坦的反驳

大数定律

随机波动

蒙特卡罗模拟

弹簧储能

背包问题 - 贪婪算法

局部最优解带来的全局最优解

图最优化

动态规划

机器学习

信躁比与特征向量,距离度量