簡體   English   中英

使用Boost Graph Library(BGL)和現有的圖形數據結構

[英]Using Boost Graph Library (BGL) with existing graph data structure

我有一個現有的圖形,由我自己的頂點和邊類構建,如下所示:

struct Graph;

struct OutPort {};

struct InPort { 
  OutPort* connectedOutput; 
};

struct Node { 
  Graph* graph;
  std::list<InPort> inputs;
  std::list<OutPort> outputs;
};

struct Graph {
  std::list<Node> nodes;
}

也就是說,圖形由節點組成,節點具有0 .. *輸入和輸出端口。 輸入端口連接到任何節點(包括其自身)的0..1輸出端口。

我想將BGL算法應用於此圖,但無法弄清楚如何使用上面的現有數據結構,或者在它們和BGL數據結構之間提供合適的映射。

我將很感激一個介紹性的例子。

舉個例子就是一個例子。 但是,您需要為您選擇的圖形概念建模。

http://www.boost.org/doc/libs/1_63_0/libs/graph/doc/graph_concepts.html

在此輸入圖像描述

我發現很難從你的模型中看到邊緣是如何表示的(端口可以很好地斷開連接,或者OutPort可能OutPort返回Node等)。 我覺得你可能想要模擬AdjacencyGraph。 鏈接頁面上列出了所需的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM