算法图解-读书笔记

1:二分查找:前提:一个有序数组, 方法:每次取中间数,对比大小。时间复杂度:lgn

大O:时间复杂度计算表示方法

耗时排序:Olgn/On/On*lgn/On2/On!

Olgn:对数时间,示例:二分查找

On:线性时间,如简单查找

On*lgn:快速排序

On2:选择排序

On!:旅行家问题

 

2:选择排序:挨个对比,On2

3:快速排序:分而治之思想,将无序数组拆解到最小1个元素,再递归往排序。最差情况 On2 平均On*lgn

4:散列表:hash,数组+链表

5:广度优先搜索(图):

多个数组+队列+已查询过的数据(避免环状死循环)

可用于:全量遍历查询 时间复杂度:O(V+E)V:顶点数 E:边数

检查过的务必去重,避免无限循环

6:狄克斯特拉算法:

广度优先适用于在非加权图中查找最短路径

狄克斯特拉适用于加权图中查找最短路径

只有权重为正,算法才有效,权重为负,使用贝尔曼-福德算法

7:贪婪、贪心算法

核心思想:局部最优,全局近似最优

什么是NP完全问题?

NP完全问题(NP-C问题),是世界七大数学难题之一。 NP的英文全称是Non-deterministic Polynomial Complete的问题,即多项式复杂程度的非确定性问题

 

8:动态规划:

在给定的约束条件先,优化某种指标

动态规划都设计网格

每个网格的单元都是一个子问题,因此需要考虑将问题分解为子问题

背包问题:问题可以分解为小背包,行的排序不会影响结果

 

9:K最近邻算法

1:分类:区分2个物品,需要对比2个相似度,相似度的计算,数学维度是根据2者在坐标上的距离(N维度),多维的计算可以是向量夹角度数,余弦相似度。

2:推荐系统:找到邻近的数据,相互推荐,怎么找到邻居?通过分类,以什么维度分类?通过特征提取,怎么提起?1:用户打标、打分等2:朴素贝叶斯算法3:图像视频领域使用OCR 光学字符识别)特征

3:KNN用于分类和回归、需要考虑最近的邻居

4:分类就是编组,

5:回归就是预测结果

6:特征抽取意味着将物品转换为数字

7:特征选取决定KNN算法的成败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值