一千萬個為什麽

搜索

在C ++中實現和使用節點圖的方法?

我正在研究一個涉及社交網絡的研究項目。我已經用C ++完成了程序的大部分主幹,現在我想實現一種創建節點和連接圖的方法,以及一種可視化人與人之間聯系的方法。我看了一下Lemon和Boost圖庫,但想知道哪一個更容易學習和實現,或者我應該只編寫自己的代碼。

最佳答案

如果您使用 BGL ,那麽您應該也可以使用圖形工具包算法和圖紙(GTAD)。 GTAD旨在與BGL兼容,並添加了許多不在BGL中的圖算法以及布局算法。

為了可視化,BGL允許您讀取和寫入一些常見的圖形文件類型,如GraphML和Dot,以便與 GraphViz

Lemon看起來是一個功能齊全的庫,有很多算法。您還可以使用 gLemon 查看Lemon圖表。這個可視化器看起來非常基本,並且最後更新於2008年,不像檸檬,它仍在開發中。

我建議你先弄清楚你想要用你創建的任何圖形做什麽,即你需要什麽算法(最短路徑等),並從這個方面比較兩個庫。

另請參閱兩者的教程。他們有非常好的文檔,應該幫助您確定哪些更容易實現。

除非你真的想了解如何實現某些圖形結構和算法的細節,否則我會使用一個庫。

轉載註明原文: 在C ++中實現和使用節點圖的方法?