我是增强图库的新手并且给定了有向图,我想构建一个水平有序的顶点向量,即给定顶点A,B,C,D,E,F
和边
A-> B,A-> C,B-> D,C-> E和E-> F
获取图形中相同深度的顶点向量(或该树的树):
[[A],[B,C],[D,E],[F]]
感谢您的帮助。
答案 0 :(得分:0)
到目前为止你尝试了什么?
以下是我如何处理此问题的一般性高级描述。
创建一个数据结构来保存“水平有序矢量”
创建一个包含此结构的访问者和一个当前深度计数器
从A开始进行图遍历,以A级深度更新访问者,当前节点在“级别有序向量”中的正确位置
另一种方式:
使用捆绑属性功能保存每个节点的深度
遍历图表,使用正确的深度更新节点属性。
根据上一步中遍历设置的深度属性,迭代节点以确定每个节点应放在“级别有序向量”中的位置。
供参考,以下是广度优先遍历方法http://www.boost.org/doc/libs/1_54_0/libs/graph/doc/breadth_first_search.html