2018.2.27-28 kruskal‘s MST and clustering

kruskal的MST算法,过程是先找出图中的最小权边,然后每一步都找剩下的最小权边,找完后判断把这个边加入本方阵营后会不会出现cycle,不出现就加入本方,出现就继续找。根据证明,这个算法是正确的,虽然正确性不是那么直观。可以用heap或者union find的数据结构来implement这个算法,来达到O(m*lg(n))的速度。

clustering就是把一个集合,及某种规则来分片。比如一堆平面上的点,规定距离小于d的分成一个cluster,或者规定分位n个cluster,然后看剩下的最小距离是多少。具体做法是,把每个点都初始化为一个cluster,先找出最小距离的那对点,然后每一步都找处于不同cluster的点对中距离最小的,然后把它们的cluster合并,直到剩下所要求的的cluster为止。这个算法其实过程和上面的kruskal很类似的。同样的,也可以用heap或者union find来加速。

 

转载于:https://www.cnblogs.com/dynasty919/p/8488700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值