第一百五五章 最小生成树(下)
玄浑道章小说推荐阅读:娇软美人在末世封神了、世界末日之毒液、大佬的小人鱼揣崽跑路了、特案三组、腐烂国度之活下去、末日聚集地、一价氢氯钾钠银、御鬼者传奇、暗影熊提伯斯的位面之旅、这个文字冒险游戏绝对有毒、末世满级大佬有异能空间、从黑科技到超级工程、快穿之养老攻略
那么,就开始编写Prim算法吧!
首先,做异常情况判断。
两种情况视为异常:
1.地图为空(没有意义嘛)
2.地图连通性无法保证
这些情况,通通返回空地图。
然后,从地图中选取一个点,作为起始顶点。
随便哪个点都可以的!
将该点标识为已访问,并将含有起始顶点的边添加到优先级队列。
接下来,是算法的关键性部分。
1.从优先级队列中取出权重最小的边。
2.如果这条边,两端的点都被访问过,说明是失效的边,将其舍弃。
3.这条边没有被舍弃,那就是有效的,加入最小生成树。
4.以这条边,没有被访问过的端点,继续标识为已访问,并将含有该端点的边添加到优先级队列。
5.又从1.开始,反复循环。
这似乎是个从1到4阶段永不停歇的贪心计算过程。
然而,万物有始必有终结。
当图中所有的顶点,都被最小生成树得到(顶点数量相同)。
或者,当优先级队列为空。
这个算法就结束了它的使命。
此时得到的,就是原来地图的最小生成树。
http://www.xuanhundaozhang.com/yt29725/12947131.html
请记住本书首发域名:www.xuanhundaozhang.com。玄浑道章手机版阅读网址:www.xuanhundaozhang.com
首先,做异常情况判断。
两种情况视为异常:
1.地图为空(没有意义嘛)
2.地图连通性无法保证
这些情况,通通返回空地图。
然后,从地图中选取一个点,作为起始顶点。
随便哪个点都可以的!
将该点标识为已访问,并将含有起始顶点的边添加到优先级队列。
接下来,是算法的关键性部分。
1.从优先级队列中取出权重最小的边。
2.如果这条边,两端的点都被访问过,说明是失效的边,将其舍弃。
3.这条边没有被舍弃,那就是有效的,加入最小生成树。
4.以这条边,没有被访问过的端点,继续标识为已访问,并将含有该端点的边添加到优先级队列。
5.又从1.开始,反复循环。
这似乎是个从1到4阶段永不停歇的贪心计算过程。
然而,万物有始必有终结。
当图中所有的顶点,都被最小生成树得到(顶点数量相同)。
或者,当优先级队列为空。
这个算法就结束了它的使命。
此时得到的,就是原来地图的最小生成树。
http://www.xuanhundaozhang.com/yt29725/12947131.html
请记住本书首发域名:www.xuanhundaozhang.com。玄浑道章手机版阅读网址:www.xuanhundaozhang.com