常用算法
文章平均质量分 89
卫公费马
失去很多,得到一些
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
简单易懂,单调栈和队列
”明月如霜,好风如水,清景无限 “ 文远已经很久没更新了,中秋补一篇吧。最常见的两种数据结构,栈和队列,也就是先进后出和先进先出。从这一点来看,似乎这两个数据结构挺简单的,但难点在于何时使用它,也就是识别出什么时候该用这样的数据结构。 壹 * stack基础的基础操作: 如果用数组模拟栈的话,需要数组int stk[N] , hh = -1;其中hh = -1待定,也就是初始情况下栈为空,认为stk[0]为栈的首元素。若改为0,则认为stk[1]为栈的首元素。 入栈: stk[++hh] = x原创 2021-09-21 15:50:26 · 412 阅读 · 0 评论 -
背包专题详解,实用有效
”明月如霜,好风如水,清景无限 “ 背包问题的经典程度,不言而喻。今天文远就带大家梳理一遍。主要是01背包,完全背包,多重背包和分组背包问题。关于空间压缩可以见:空间压缩。 关键点:一般用dp[i][j]表示只用前i个物品在背包空间为j的情况下物品的最大价值。 壹 * 01背包 描述:n个物品,背包容量m,物品容量v[i],价值w[i]。物品只能选0次或者1次。 状态分析很简单,即 dp[i][j] = max(dp[i-1][j] , dp[i - 1][j - v[i]] + w原创 2021-09-09 16:38:45 · 460 阅读 · 0 评论 -
含泪总结,五种常见的最短路径算法
”明月如霜,好风如水,清景无限 “ 总结 总的来说,最短路径是图论的最常见的问题。即在一副有向图(无向图是特殊的有向图,不做考虑。记图中的结点数N ,而边数为 M,边长记为W)中找到其中两点的路径最短值。 壹 * 基础版dijkstra 复杂度 :O(n * n),分析可知遍历为n,更新为n。 特点介绍:看复杂度可以知道,此算法仅仅与结点个数有关。那么当图的边数密集,是稠密图时,将会非常适合。而对于稠密图,储存方式最好是邻接矩阵。其中dijkstra算法对应的边长权值都为正数。 代码关键点:原创 2021-09-05 23:37:40 · 4885 阅读 · 0 评论 -
背包问题空间压缩含义
”明月如霜,好风如水,清景无限 “ 时隔了不知道多少天,应该说最近都在忙于写毕设论文和相关代码。因此很久没更新了,先推荐一下关于西瓜书的两类视频: 图片 https://www.bilibili.com/video/BV17J411C7zZ ####一起啃书 https://www.bilibili.com/video/BV1GT4y1w72C ###机器学习实战 今天智能路障的鲁迅系列又更新了,心疼迅哥一秒,,,, 壹 今天说的是动态规划最常见的一个题原创 2021-08-19 18:44:51 · 590 阅读 · 0 评论 -
我与动态规划-1
算法类: 动态规划(DP) 回溯 矩阵快速幂 递归 深度广搜索(DFS BFS) 贪心 剪纸 分治 记忆化搜索 题目: 完全背包 , 01背包, …… 动态规划 矩阵型 序列型 双序列型 划分型 区间型 背包型 状态压缩型 树型 动态规划题目特征 结果种类数 最值问题 可行性问题 动态规划规定步骤 壹、找出状态 1.首先是想出达到结果的上一步,这也就问题可分解成子问题。那么寻找题解的最后一步(即子问题),通过对比子问题与原问题,找到状态,并且根据状态变换的变量.原创 2020-07-20 23:02:58 · 221 阅读 · 0 评论
分享