![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 90
dzdz123
这个作者很懒,什么都没留下…
展开
-
01 背包问题
1.1 题目有 N 件物品和一个容量为 V 的背包。放入第 i 件物品耗费的费用是 Ci,得到的价值是 Wi。求解将哪些物品装入背包可使价值总和最大。1.2 基本思路这是最基础的背包问题,只需要考虑选取哪几个物品放入背包,总体积不超过V的前提下价值最大。特点是:每种物品仅有一件,可以选择放或不放。 若我们把取该物品记为1,不取该物品记为0,那么使用某种放入方式酱对应一个2进制串,因此这类问题也称为01背包问题。...原创 2021-07-24 10:36:02 · 92 阅读 · 0 评论 -
Tarjan
文章目录前言一、Tarjan求强连通分量二、具体代码2.读入数据总结前言图论——强连通分量(Tarjan算法)tarjan可以做什么?根据 Robert Tarjan 的名字命名的算法Tarjan算法可以在线性时间内求出无向图的割点与桥,再进一步的求出双联通分量,也在数据结构上做出了贡献。Tarjan算法的用途:求桥和割点求点和边的双连通分量求强连通*.一、Tarjan求强连通分量“有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的原创 2021-07-18 10:46:43 · 106 阅读 · 0 评论 -
最小生成树(Prim算法和Kruskal算法)
最小生成树(Prim算法和Kruskal算法)一、Prim算法算法思路:首先就是从图中的一个起点a开始,把a加入U集合,然后,寻找从与a有关联的边中,权重最小的那条边并且该边的终点b在顶点集合:(V-U)中,我们也把b加入到集合U中,并且输出边(a,b)的信息,这样我们的集合U就有:{a,b},然后,我们寻找与a关联和b关联的边中,权重最小的那条边并且该边的终点在集合:(V-U)中,我们把c加入到集合U中,并且输出对应的那条边的信息,这样我们的集合U就有:{a,b,c}这三个元素了,一次类推,直到所有原创 2021-07-09 16:22:55 · 1502 阅读 · 4 评论