关于ACM中的最小生成树

最常见的最小生成树,无非就两种:

prim

kruscal。

两者皆为贪心思想,局部最优(或无限接近最优)以达到全局最优的效果。

很多人疑惑,到底什么是最小生成树

维基百科的定义链接:

http://zh.wikipedia.org/wiki/最小生成树


定义很严谨,但是这个定义并不形象。其实最小生成树无非是把无向图转化为树结构的过程,在这个过程中存在一个从出发点遍历图中所有点的过程,为了找到从出发点遍历所有点的最短过程而生成的树即为最小生成树。(意会即可。)

具体可参考:

最小生成树演示


对于代码,java,c++都是可以的,但是,建议先用C语言走一遍。


POJ相关练习题:


Prim:POJ1258

Kruscal:POJ1863


本文不打算给出代码,网上有很多参考代码,但是,仅限参考,在自己走一遍之后,强烈建议自己写,花一下午,一天,二天去写,去思考细节,然后简化代码,优化空间。



wolfguy,记于10.30.2013

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值