![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 72
LuckZY_
这个作者很懒,什么都没留下…
展开
-
浅谈对背包DP的理解(01背包)
题目样例有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和? 物品个数——n 背包体积——bagV 编号为i的物品价值——v[i] 编号为i的物品体积——w[i]思路 题目中无非涉及到两种数据——体积与价值 和对应的背包序号i 最终要是价值最大化,根据DP设置的原则我们自然想到要以价值来作为状态 用体积和序号作为状...原创 2021-10-17 12:58:43 · 523 阅读 · 3 评论 -
KMP算法(字符串匹配)
算法介绍 KMP算法是一种采用最长前后缀长度进行转移的字符串匹配模式 主要的操作对象是模式串(P)即子串算法思想 KMP采用牺牲可控范围内的空间来节约时间上的成本 与暴力算法不同的是KMP算法用模式串P进行回溯 同时KMP算法采用了一种类似于倍增思想的方式处理模式串P的移动元素 next[]存储了该位置字符串不匹配时模式串P的回溯位置 也存储了该位置之前的字符...原创 2021-09-28 15:37:36 · 216 阅读 · 1 评论 -
Dijkstra算法和堆优化
Dijkstra介绍 迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。这是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。 算法思想 dijkstra采用迭代的办法,贪心算法的原则,每一次都将改变更新源点到不同点的最小边权,遍历没有确定最优解的点。...原创 2021-09-15 16:35:29 · 1959 阅读 · 2 评论