BGL学习00---开始

这篇blog是我学习 boost之BGL的开始。BGL是Boost Graph Library的缩写,是基于boost的一个强大的图论函数库。其采用了C++泛型编程(Generic Programming)的思想,因而有强大的通用性、扩展性和高效率。从今天开始我将系统地学习这个库,基本想法是逐个学习其自带的所有例子。通常,这 些例子位于目录$BOOST/libs/graph/example之下。

当然,在此之前,我已经基本熟悉了boost的使用。我的使用环境是:
  • 操作系统:Cygwin/Windows XP
  • GCC版本:3.4.4
  • Boost版本:1.34.1
同时,我会使用 Graphviz来可视化这些图。

一、帮助文档
-------------------------------------------
首先,我熟悉了BGL的 online帮助文档。这些文档实际上就是书 《The Boost Graph Library》的内容,而boost之BGL库也自带这些文档,在目录$BOOST/libs/graph/doc/之下。要了解BGL,以下几个章节相当重要: 以上图片则显示了BGL的STL的对比。在帮助文档的章节1. Introduction to the BGL有对STL和BGL泛型编程特征的比较。STL作为泛型编程的3个方式:
  1. Algorithm/Data-Structure Interoperability
  2. Extension through Function Objects/Functor
  3. Element Type Parameterization
正好在BGL中也有对应:
  1. Algorithm/Data-Structure Interoperability
  2. Extension through Visitors
  3. Vertex and Edge Property Multi-Parameterization
而在章节20. Traits classes则是BGL中,就图论的应用,所定义的特别类型,也是上图中 Property Accessor所指的内容:
  1. graph_traits
  2. adjacency_list_traits
  3. property_map
以上这些,我都将在以后的学习中慢慢体会。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值