
算法
cc奋斗ing
这个作者很懒,什么都没留下…
展开
-
红黑树详解
红黑树详解红黑树的详解定义定理插入删除1.定义节点是红色或黑色。根节点是黑色。每个叶节点是黑色的(这里的叶节点是指NULL节点,并不是真正意义上的叶节点)。(注意在已下讨论中我们可能不会过多的关注NULL节点,)每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径5. 上不能有两个连续的红色节点,或者理解为红节点不能有红孩子)从任一节点到其每个叶子的所有路径都包...原创 2019-10-13 11:56:38 · 393 阅读 · 0 评论 -
Tragin算法用于求强连通图详解
Tragin算法不仅可以求割点和割边(割点和割边的算法差不多),还可以求取有向图的强连通分量个数(当然可是根据问题的不同适当做出修改比如求连通分量包括那些),时间复杂度是O(N+M)主要花费在了DFS上。先说一下割点中的low[]数组,其主要作用是保存当前节点所能接触到的标号最早的节点(不会从其父节点这条路过,也就是它上一个DFS的那个节点过去),如果不太清楚割点算法的请先看看割点算法https:...原创 2019-08-05 21:46:21 · 506 阅读 · 0 评论 -
0/1分数与最优比率生成树
0/1分数与最优比率生成树分数问题为minλ=f(x)=a(x)b(x)(xϵS)min\lambda=f(x)=\frac{a(x)}{b(x)}(x\epsilon S)minλ=f(x)=b(x)a(x)(xϵS)其中 x是向量。我们需要求向量X以使得λ\lambdaλ最小。现在看这样一个问题,一个图中,每个边都由两个权值分别是cost花费和value收益,我们现在需要让∑iϵ...原创 2019-08-24 09:06:50 · 128 阅读 · 0 评论 -
EM算法的推导
EM算法是用来求解极大似然函数的一种数学方法,在机器学习中的很多地方都可以见到他的影子,如GMM,HMM,LDA还有本文要讲述的PLSA等等。PLSA是一种无监督分类模型,将很多文本根据主体的不同分文别类。原创 2019-08-17 09:09:29 · 134 阅读 · 0 评论 -
Dinic算法
Dinic算法Dinic算法用于求解最大网络流,改进了EK算法。EK算法求增广路的时候一次bfs只是求了一个增光路径,然后再在增广路径上进行flow[x][y]+=w,flow[y][x]−=wflow[x][y]+=w,flow[y][x]-=wflow[x][y]+=w,flow[y][x]−=w操作。但是一次只寻找一条增广路径速度有点慢,我们考虑一次寻找多条增广路径。从而诞生了Dini...原创 2019-08-28 15:07:11 · 1021 阅读 · 2 评论 -
Stoer-Wagner算法求全局最小割
Stoer-Wagner算法求全局最小割全局最小割可以用网络最大流来实现,也可以用Stoer-Wagner实现先看几个概念S−T割:使得顶点S与顶点TT不再连通的割,称为S−T割S−T最小割:包含的弧的权和最小的S−T割,称为S−T最小割。全局最小割:包含的弧的权和最小的割,称为全局最小割。诱导割(induced cut):令图G=(V,E)的一个割为C,则割C在图G的子图G′=(...原创 2019-08-30 16:59:29 · 585 阅读 · 2 评论