【笔记分享】算法图解1

因本人最近在恶补数据结构与算法,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这一篇博客主要是最近刚开始接触算法图解一书,写的通俗易懂,很多图表帮忙理解,所以讲随手笔记分享至此,希望对您有所帮助。

算法图解

一些常见的大O运行时间:

说明:

 

广度优先搜索:

广度优先搜索的最终代码如下

 

狄克斯特拉算法包含的步骤(针对加权图场景)

说明:如果有负权边,就不能使用狄克斯特拉算法

 

NP问题:

以难解著称的问题

如何判别没办法解决的问题是不是NP完全问题呢

 

动态规划

递归的子集,递归部分有重叠,为了减少时间复杂度,所以将中间过程都保存下来的递归

动态规划实际应用的场景:

 

K最近邻算法

K最近邻算法常见应用:

推荐系统中基于用户的推荐和基于物品的推荐

 

将KNN用于两项基本工作:分类和回归

分类就是编组

回归就是预测一个数字

 

 

二叉查找树

对于其中每个节点,左子节点的值都比它小,右子节点的值都比它大

优势:插入和删除操作的速度很快

 

反向索引(倒排索引)

也就是搜索引擎的基本工作原理

并行算法

影响并行算法不能线性提高算法速度的原因有两个:

 

MapReduce

是一种流行的分布式算法:主要包括映射函数和归并函数两部分

Map

Reduce

 

布隆过滤器和HyperLogLog

是一种概率型数据结构,提供的答案有可能不对,但很可能是正确的

可能出现报错的情况,即可能指出在集合中查找某个主键是存在的,但是实际上并没有

不可能出现漏报的情况,如果布隆过滤器说集合中没有这个主键,那就一定不存在

 

SHAsecure hash algorithm 安全散列算法

典型应用1;可用于比较两个文件是否相同

典型应用2:计算密码的散列值

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西瓜情怀总是籽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值