大数据算法学习笔记(五):生成树权重

1、问题:无向简单图,求最小生成树的权重。

精确解:prime、kruskal


2、亚线性算法基本思想:用特定子图联通分量的数量估计MST的权重。

假设某个无向图中所有边的权重都是1或者2,求MST的权重。

则其MST的权重=N1+N2(N1:MST中权重至少为i的边的数量)

显然N1=n-1,n为顶点数。

而N2为权重为1的边构成的导出子图的联通分量个数-1,即把MST中边权为2的边去掉后,形成若干个联通分量,将每个联通分量视为1个点,再将去掉的边加入,则形成一个新的树,其边数即为联通分量个数-1.


接下来考虑一般情况:

设Gi:G中包含所有权重小于i的边的子图。

Ci:Gi中的联通分量个数

最小生成树权重大于i的边数为Ci  -1

那么W(G)=n-w+sigma(Ci)  (i=1~w-1)

n是顶点数、w是边的最大权值

于是,问题转为求连通分量个数。


3、连通分量个数的估计

方法:随机化

运行时间和n无关。


设C是连通分量个数。n(u)为结点u所在连通分量的结点个数。

对于连通分量A,其中所有顶点的n(u)的倒数之和为1。

因此所有顶点的n(u)的倒数之和为C

于是可以通过抽样顶点的n(u)来估计这个和。

如果u所在连通分量中的点很少,可以用BFS来求。

如果u所在联通分量中的点很多,即1/n(u)很小,说明对和的贡献很小。

那么就可以考虑在限定步数之内完成BFS,若完成不了,则舍弃,因为其对于结果贡献非常小。


误差:令n(u)'=min(n(u),2/ε)

当n<2/ε时,n(u)'=n(u);否则n(u)'=2/ε,0<1/(n(u)')-1/(n(u))<1/n(u)'=ε/2

由于C'=sigma(1/(n(u)')

则|C'-C|=sigama(1/(n(u)')-1/(n(u))<=n*ε/2


算法如下:

1、抽样个数:和1/ε^2同阶

2、随机选择点u,从u开始BFS,将顶点序列放到序列L中,当完成BFS或者L=2/ε时停止,将L的大小作为n(u)的估计值

3、N=N+n(u)'

4、返回C'=s/N*n ,平均值*n作为对整体的估计值。


运行时间:O(d/ε^3*log(1/ε)





  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你关于大数据技术与应用的问题,以下是我的笔记: 1. 什么是大数据大数据是指数据量过大、处理复杂度高、价值密度低的数据。大数据具有“3V”特征:数据量大(Volume)、处理速度快(Velocity)、数据种类多(Variety)。 2. 大数据技术有哪些? 大数据技术主要分为存储、处理、分析三个方面。常用的大数据技术包括:Hadoop、Spark、Hive、HBase、Storm、Kafka等。 3. 大数据的应用场景有哪些? 大数据的应用场景非常广泛,包括但不限于以下几个方面: - 金融行业:风险控制、反欺诈、客户画像等; - 零售行业:销售预测、商品推荐、库存管理等; - 医疗行业:病人监测、疾病预测、数据分析等; - 交通行业:智能交通、交通拥堵预测、车辆管理等; - 教育行业:学生画像、教育资源管理、教学效果分析等。 4. 大数据的处理流程是什么? 大数据的处理流程可以分为以下几个步骤: - 数据采集:收集原始数据; - 数据存储:将采集到的数据存储到大数据平台中; - 数据清洗:对数据进行清洗,去除脏数据; - 数据处理:使用大数据技术对数据进行处理和分析; - 数据可视化:将处理后的结果以图形方式展现出来。 5. 大数据的挑战有哪些? 大数据的挑战主要包括以下几个方面: - 数据存储:海量数据的存储需要大量的存储空间; - 数据处理:海量数据的处理需要大量的计算资源; - 数据质量:大数据中存在大量的脏数据,需要进行数据清洗; - 数据安全:大数据中包含大量的敏感信息,需要保证数据安全; - 人才短缺:大数据技术需要专业的人才支持,但是目前人才供不应求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值