zoukankan      html  css  js  c++  java
  • 最小生成树

    最小生成树

    对于无向图G=(V,E),连接G中所有点,且边集是E的子集的树成为G的生成树

    其中权值最小的生成树叫做最小生成树(MST)

    Kruskal算法

    Kruskal算法 是一种最小生成树算法。

    首先对所有边按照权值进行排序

    初始化连通分量(并查集)

    初始化树

    循环考察每条边

      如果边的两个节点不在同一个连通分量

        将这个边插入到树中

        将两个节点对应的连通分量合并 

    Prim算法

    Prim算法是另一种最小生成树算法。

    对所有边按照权值排序

    初始化集合S[i]为false

    声明队列Q

    将所有边加入到Q中

    队列不为空

    若Q的最顶部的两个节点不全在集合中

      将两个点加入到集合中

      将边插入到树中

    否则

      从队列中删除这条边

    两种最小生成树的算法,大概思路都是对边排序后,将不会产生环的边逐个加入到树中

     1 /*
     2 By:OhYee
     3 Github:OhYee
     4 Email:oyohyee@oyohyee.com
     5 Blog:http://www.cnblogs.com/ohyee/
     6 
     7 かしこいかわいい?
     8 エリーチカ!
     9 要写出来Хорошо的代码哦~
    10 */
  • 相关阅读:
    图像处理-06-图像的反色处理
    Egg.js框架
    Node基础
    Node介绍与安装
    线性表结构-数组(散列表与可变长度数组)
    复杂度分析和大O表示法
    Java框架之Struts2(六)
    Java框架之Struts2(五)
    Java框架之Struts2(四)
    Java框架之Struts2(三)
  • 原文地址:https://www.cnblogs.com/ohyee/p/5324498.html
Copyright © 2011-2022 走看看