《算法图解》笔记简单整理
《算法图解》
其实读着《大话数据结构》便觉得 这样子挺麻烦的……试试吧还是
不过这样搭配cal Newport的摩斯密码法其实挺有意思
算法图解这本书还是很不错的 简单易懂
1 算法简介
- 二分查找 
- 大O表示法 - 展示最糟情况下的所需时间
 
- 旅行商问题 - 旅行商将前往n个城市 从某处到某处都需要不同的里程 试找出最少的路程方法 - 解决这个问题 如若直接遍历 复杂度为O(n)=n! - ’ 
2 选择排序
- 元素的位置称为__索引__
| 属性 | 数组 | 链表 | 
|---|---|---|
| 读取 | O(1) | O(n) | 
| 插入 | O(n) | O(1) | 
| 删除 | O(n) | O(1) | 
- 选择排序
3 递归
- 基线条件
- 递归条件
4 快速排序
- 分而治之- 找出基线条件
- 缩小问题 直至符合基线条件
- (涉及数组的递归 其基线条件一般为数组为空或只含一个元素
 
- 快速排序
- 平均情况 vs 最糟情况
5 散列表
- 散列函数
- 散列表- 模拟映射
- 防止重复
- 缓存数据
 
- 冲突(解决方法- 较低的填装因子
- 良好的散列函数
 
6 广度优先搜索
- 图的代码实现
- 用deque实现广度优先搜索- 设立flag标记有无检查过
 
- 拓扑排序
7 狄克斯特拉算法
计算网的最小路径
要求:
- 不能有负权边 
- 不能构成环 - (否则:弗洛伊德算法 
8 贪婪算法
- 近似算法
- 差集
- NP完全问题(只能遍历 而没有一种好的算法
9 动态规划
必须每个子问题都是__离散__的才能有效
- 最长公共子串 
- 最长公共子序列 
10 K最近邻算法
- 余弦相似度
- 分类(大数据推送hhh
- 回归(预测你对此视频的评分hhh
11 other
- 树
- 反向索引
- 傅里叶变换
- 并行算法
- MapReduce- 映射函数
- 归并函数
 
- 布隆过滤器
- SHA算法(局部不敏感
- 局部敏感的散列算法
- 线性规划(一生之敌
《算法图解》笔记简单整理
      http://baokker.github.io/2021/07/19/《算法图解》笔记简单整理/