BGL學習00 開始

2021-04-16 22:29:38 字數 1292 閱讀 3928

這篇blog是我學習

boost之bgl的開始。bgl是boost graph library的縮寫,是基於boost的乙個強大的圖論函式庫。其採用了c++泛型程式設計(generic programming)的思想,因而有強大的通用性、擴充套件性和高效率。從今天開始我將系統地學習這個庫,基本想法是逐個學習其自帶的所有例子。通常,這 些例子位於目錄$boost/libs/graph/example之下。

當然,在此之前,我已經基本熟悉了boost的使用。我的使用環境是:

同時,我會使用

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個方式:

algorithm/data-structure interoperability

extension through function objects/functor

element type parameterization

正好在bgl中也有對應:

algorithm/data-structure interoperability

extension through visitors

vertex and edge property multi-parameterization

而在章節20. traits classes則是bgl中,就圖論的應用,所定義的特別型別,也是上圖中

property accessor所指的內容:

graph_traits

adjacency_list_traits

property_map

以上這些,我都將在以後的學習中慢慢體會。

00 從零開始

上機過程中,注意 1.將實際問題抽象成數學問題 2.如何將計算機專業知識,運用到解決抽象出來的數學模型中?熟知一些常用的資料結構與演算法,再結合模型要求,選擇合適的程式設計思想完成演算法的設計。3.如何解決未解決數學模型所涉及的演算法編寫乙個能被計算機真正執行的程式?3.1 會默寫一些經典演算法的程...

從零開始學架構 00學習

這個專欄躺在極客時間裡已經躺了很久了,有空的時候才會去聽它,斷斷續續的學習沒有多大效果。還是希望能有時間系統的學習一遍,所以才會整理這份學習筆記,希望寫完了還回再回過頭看看吧。廢話不多說,直接總結乾貨。1.架構設計相對程式設計來說思維方式有很大的差異。架構設計是判斷和取捨,程式設計是邏輯和實現。2....

創新班學習00

1.自己學。勿相互問,學習方法。通過網路學習。怎麼問問題。如何使用搜尋引擎。google。一兩天!周解決問題。2 期望得到的 a 學習能力。解決問題。語言,幾個小時,不超過三天。b.如何保證工作質量。不出錯誤。c目前軟體行業前沿語言,技術,設計。比如。13年使用golang語言,08年使用andro...