BGL使用dijkstra计算图的最短路径

本文介绍了如何利用C++的Boost Graph Library (BGL)来计算图的最短路径,特别是通过Dijkstra算法。BGL作为一个强大的图论库,提供了灵活性和高效性,并允许自定义节点类型。虽然它不包含复杂的网络分析算法,但在处理大规模网络问题时,可以作为基础来开发自己的算法。示例中展示了从A到F的最短路径:A->B->D->F。
摘要由CSDN通过智能技术生成

BGL(Boost Graph Library )是 C++中著名的准标准库Boost中关于图论库,内置了常用的图论算法如BFS、DFS、dijkstra等,可以很方便的使用。
使用Boost首先需要对Boost进行配置,关于Boost的配置的文章有许多,配置起来还是非常容易的。

Boost Graph Library(BGL)是C++ Boost库的成员之一。Boost是一个经过千锤百炼的C++库,作为标准模板库STL的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,是不折不扣的“准”标准库。
BGL的特点是灵活性和高运行效率。BGL是以模板的形式提供的,这意味着你可以在模板的基础上创建自己的类型,比如自定义的节点类。BGL的开发者是世界上最顶尖的C++专家,这个库中实现的各种图算法具有非常高的执行效率,而且BGL本身具有工业强度,你可以放心的使用它。此外,BGL的代码结构良好,是非常值得研读的精品,对于学习算法与数据结构会有很大的帮助。
从我的角度来看,BGL的缺点是没有提供复杂网络分析的算法,所以在实际中我使用的还不多。建议对于分析大规模的网络问题时使用这个库,利用它良好的图数据结构,开发自己的复杂网络分析算法,将会获得很高的执行效率。
介绍几个图论和复杂网络的程序库

问题简述:
计算路径的所用的图
这里写图片描述
起始点为A,终止点为F
求最短路径

代码如下:


#include "stdafx.h"
#include <iostream>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值