复杂度分析
算法效率用大 符号表示:
| 复杂度 | 示例 | 说明 |
|---|---|---|
| 哈希查找 | 常量时间 | |
| 归并排序 | 线性对数 | |
| 冒泡排序 | 平方时间 | |
| 穷举搜索 | 指数时间 |
动态规划
动态规划通过子问题重用避免重复计算:
def fibonacci(n, memo={}):
if n in memo:
return memo[n]
if n <= 1:
return n
memo[n] = fibonacci(n-1, memo) + fibonacci(n-2, memo)
return memo[n]
动态规划思想在机器学习概述中的强化学习领域广泛应用(Bellman 方程)。
数据结构导论为算法提供了高效的数据组织方式。