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 */
  • 相关阅读:
    高级查询
    简单查询
    CRUD
    T-SQL语句
    数据库规范
    导出含有特定字符串的注册表
    .net、jquery、ajax、wcf实现数据库用户名检测局部刷新
    数据结构实验之二叉树二:遍历二叉树
    传纸条
    数据结构实验之栈与队列五:下一较大值(一)
  • 原文地址:https://www.cnblogs.com/ohyee/p/5324498.html
Copyright © 2011-2022 走看看