龙空技术网

大数据算法(1)连通分量数量的时间亚线性算法

野鸡学生 160

前言:

今天各位老铁们对“在线曲线的算法”大致比较着重,姐妹们都想要剖析一些“在线曲线的算法”的相关内容。那么小编同时在网上网罗了一些对于“在线曲线的算法””的相关资讯,希望我们能喜欢,大家快快来了解一下吧!

1.如何做到时间亚线性?

在数据量大的图中,线性算法的时间过高。连通分量数量的估计中,通过抽样,给定了最多可能访问到节点数量。设定:最多抽样次数与1/ε²同阶,每次抽样最多能访问该节点(u)所在的连通分量中2/ε个节点。

2.算法的过程

初始条件:所有抽样节点的权重值的和 = 0,以下操作重复Θ(1/ε²)次。

(1)在图中随机选择节点u

(2)从u开始BFS,访问完连通分量或者访问过2/ε个节点为止

(3)连通分量的节点数(num) = min(连通分量节点数,2/ε)

(4)节点u的权重值 = 1/num,因为对图中所有节点的权重值求和就是连通分量的数量

(5)把节点u的权重值加到所有抽样节点的权重值的和中

在重复Θ(1/ε²)次后,整个图的连通分量的个数与被抽样的节点集合的连通分量个数有比例关系:

整个图的连通分量个数 / 整个图的节点数 = 抽样节点的连通分量个数 / 抽样节点数

3.代码

标签: #在线曲线的算法