14.boost最小生成树 kruskal_min_spainning_tree
#include <iostream>
#include <boost/config.hpp>
//图(矩阵实现)
#include <boost/graph/adjacency_matrix.hpp>
#include <boost\graph\graph_utility.hpp>
#include <boost/graph/graph_traits.hpp>
//图(链表实现)
#include <boost/graph/adjacency_list.hpp>
//求最小生成树
#include <boost/graph/kruskal_min_spanning_tree.hpp>
using namespace std;
using namespace boost; //顶点名称
enum { A, B, C, D, E, F };
//顶点个数
#define N 6
const char *name = "ABCDEF"; //无向图
void main()
{
//图,每个结点是vec来实现,无向图,有边长与权重的属性
adjacency_list<vecS, vecS, undirectedS, no_property, property<edge_weight_t, int>> myg;
add_edge(A, B,, myg);
add_edge(B, C, ,myg);
add_edge(A, C,, myg);
add_edge(A, D,, myg);
add_edge(C, D,, myg);
add_edge(B, D,, myg); //链表
typedef adjacency_list<vecS, vecS, undirectedS, property<edge_weight_t, int>> mygraph;
//创建边的链表
list<mygraph::edge_descriptor> mylist;
//生成的结果尾插到mylist
kruskal_minimum_spanning_tree(myg, back_inserter(mylist)); //创建边与权重的映射(weight是函数指针)
auto weight= get(edge_weight,myg);
//property_map<mygraph, edge_weight_t>::type weight = get(edge_weight, myg); for (auto ib = mylist.begin(); ib != mylist.end(); ib++)
{
//输出边
//cout << *ib << endl;
cout << source(*ib, myg) << "->" << target(*ib, myg) << "权重" << weight(*ib) << endl;
}
cin.get();
}
14.boost最小生成树 kruskal_min_spainning_tree的更多相关文章
- 15.boost最小生成树 prim_minimum_spanning_tree
#include <iostream> #include <boost/config.hpp> //图(矩阵实现) #include <boost/graph/adjac ...
- (转)boost::bind介绍
转自:http://www.cnblogs.com/sld666666/archive/2010/12/14/1905980.html 这篇文章介绍boost::bind()的用法, 文章的主要内容是 ...
- boost::bind 介绍
boost::bind 介绍 这篇文章介绍boost::bind()的用法, 文章的主要内容是参考boost的文档. 1. 目的 boost::bind 是std::bindlist 和 std: ...
- boost::tie()和boost::variant()解说
#include<iostream> #include<boost/tuple/tuple.hpp> #include<boost/variant.hpp> #in ...
- [Fundamental of Power Electronics]-PART I-2.稳态变换器原理分析-2.3 Boost 变换器实例
2.3 Boost 变换器实例 图2.13(a)所示的Boost变换器器是另一个众所周知的开关模式变换器,其能够产生幅值大于直流输入电压的直流输出电压.图2.13(b)给出了使用MOSFET和二极管的 ...
- Awesome C/C++
Awesome C/C++ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. In ...
- C/C++ 框架,类库,资源集合
很棒的 C/C++ 框架,类库,资源集合. Awesome C/C++ Standard Libraries Frameworks Artificial Intelligence Asynchrono ...
- awesome cpp
https://github.com/fffaraz/awesome-cpp Awesome C/C++ A curated list of awesome C/C++ frameworks, lib ...
- 【干货】国外程序员整理的 C++ 资源大全【转】
来自 https://github.com/fffaraz/awesome-cpp A curated list of awesome C/C++ frameworks, libraries, res ...
随机推荐
- 准确率99%!基于深度学习的二进制恶意样本检测——瀚思APT 沙箱恶意文件检测使用的是CNN,LSTM TODO
所以我们的流程如图所示.将正负样本按 1:1 的比例转换为图像.将 ImageNet 中训练好的图像分类模型作为迁移学习的输入.在 GPU 集群中进行训练.我们同时训练了标准模型和压缩模型,对应不同的 ...
- java格式化时间到毫秒
转自:https://blog.csdn.net/iplayvs2008/article/details/41910835 java格式化时间到毫秒: SimpleDateFormat formatt ...
- 使用VMware搭建3台一模一样的Linux虚拟机
转自:https://www.linuxidc.com/Linux/2014-08/105909.htm 简介:VMware可以在个人本地一台笔记本机器上同时运行二个或更多Windows.DOS.LI ...
- python初始面向对象
阅读目录 楔子 面向过程vs面向对象 初识面向对象 类的相关知识 对象的相关知识 对象之间的交互 类命名空间与对象.实例的命名空间 类的组合用法 初识面向对象小结 面向对象的三大特性 继承 多态 封装 ...
- javascript中client()兼容性封装
function client() { var clientWidth = window.innerWidth || document.documentElement.clientWidth || d ...
- vue中slot的用法案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android琐碎知识点集合
1.最近发现android studio更新之后用的v7包,每次创建Activity的时候自动继承的是AppCompatActivity,很不舒服,还是习惯Activity.没什么大的毛病,毕竟goo ...
- Bzoj 2502: 清理雪道 有上下界网络流_最小流
好长时间没有写网络流了,感觉好手生.对于本题,设一个源点 $s$ 和 $t$.1.由 $s$ 向每个点连一条没有下界,容量为无限大的边,表示以该点为起点.2.由每个点向 $t$ 连一条没有下界,容量为 ...
- 百度api使用说明
.初始化地图,并设置地图中心点 复制代码 https://www.cnblogs.com/zqzjs/p/5293698.html var map = new BMap.Map("allma ...
- Linux下pyftplib简单的脚本
from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyf ...