您确定Fruchterman-Reingold算法仅接受无向图吗?我尝试使用双向图而不是无向图从Boost documentation运行一个小示例,它编译并运行得很好.

要回答您的问题,我不确定BGL中是否内置了将有向图转换为无向图的功能.我发现的唯一解决方案是创建一个新图并添加原始图的所有边:

typedef adjacency_list BidirectionalGraph;

typedef adjacency_list UndirectedGraph;

// UndirectedGraph uses a set to avoid parallel edges

BidirectionalGraph bdg;

// use bdg

// create an undirected graph with the edges of the first one

typedef graph_traits::vertex_iterator vi_beg, vi_end;

tie(vbeg, vend) = vertices(bdg);

UndirectedGraph ug(std::distance(vbeg, vend));

typedef graph_traits::edge_iterator ei, ei_end;

for (tie(ei, ei_end) = edges(bdg) ; ei != ei_end ; ++ei)

{

add_edge(source(*ei,bdg), target(*ei,bdg), ug);

}

但是,我认为这种解决方案在处理庞大的图形时可能会引起一些性能问题.也许有更好的方法可以实现您的目标,但是我不是BGL的专家,所以这就是我能给您的一切:-)!

正如Beno?t在评论中指出的那样,BGL提供了一个函数copy_graph,它将一个图的所有顶点和边复制到另一个图中.因此,上面的代码可以归结为:

#include

Bidirectional bdg;

// use bdg

// create an undirected graph with the vertices and edges of the first one

UndirectedGraph g;

copy_graph(bdg, g);

有向图算法c语言,c-如何将BGL有向图用作无向图(用于布局算法...相关推荐

  1. 国密算法Go语言实现(详解)(九) ——SM2(椭圆曲线公钥密码算法)

    国密算法Go语言实现(详解)(九) --SM2(椭圆曲线公钥密码算法) 原创代码:https://github.com/ZZMarquis/gm 引用时,请导入原创代码库.本文仅以注释方式详解代码逻辑 ...

  2. 国密算法Go语言实现(详解)(十) ——SM2(椭圆曲线公钥密码算法)

    国密算法Go语言实现(详解)(十) --SM2(椭圆曲线公钥密码算法) 原创代码:https://github.com/ZZMarquis/gm 引用时,请导入原创代码库.本文仅以注释方式详解代码逻辑 ...

  3. java克鲁斯卡尔算法_Java语言基于无向有权图实现克鲁斯卡尔算法代码示例

    所谓有权图,就是图中的每一条边上都会有相应的一个或一组值.通常情况下,这个值只是一个数字 如:在交通运输网中,边上的权值可能表示的是路程,也可能表示的是运输费用(显然二者都是数字).不过,边上的权值也 ...

  4. 关联规则算法c语言样例及分析_推荐系统总结系列-关联规则算法(四)

    基于关联规则的推荐有三种方法:Apriori关联规则算法FP Tree关联规则算法:PrefixSpan关联规则算法: 关联规则挖掘推荐算法: 关联规则挖掘是一种在大规模交易中识别类似规则关系模式的通 ...

  5. 数据结构与算法 c语言 百度网盘,【资料分享】 数据结构与算法全集(C源代码+详细注释)!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 │ │ BiTree.cpp │ │ BiTree.h │ │ LinkQueue.cpp │ │ LinkQueue.h │ │ main.cpp │ ...

  6. 灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法

    谢亮亮+刘建生+朱凡 摘要:针对模糊C-均值聚类算法(FCM)存在易受初始聚类中心影响和容易陷入局部最优的问题,提出了一种将灰狼优化算法(GWO)和模糊C-均值相结合的新聚类算法(GWO-FCM).该 ...

  7. koch算法c语言递归,【挑战程序设计竞赛】 递归与分治算法

    [挑战程序设计竞赛] 递归与分治算法 [挑战程序设计竞赛] 递归与分治算法 递归与分治算法穷举搜索题目 思路 代码 科赫曲线题目 思路 代码 将问题分解,通过求解局部性的小问题来解决原本的问题,这种技 ...

  8. id3算法c语言实现,从ID3到C5.0的故事:算法详解及实践应用

    原标题:从ID3到C5.0的故事:算法详解及实践应用 在前面,我们分别概述性地介绍了决策树的基本知识: 1.算法概述 ID3(Iterative Dichotomiser3)算法可以说决策树算法中最著 ...

  9. C语言求网格的最大不重复路径数的算法(附完整源码)

    C语言求网格的最大不重复路径数的算法 C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) #in ...

最新文章

  1. 计算Gaunt积分 m1m2<0
  2. 【待填坑】LG_4996_咕咕咕
  3. Boost:boost::mp11的使用实例
  4. MyBatis学习与使用(一)
  5. hadoop 卡主_HDFS DisTCP执行卡住了,怎么办?
  6. 二进制文件和普通文件(文本文件)区别
  7. 在scrapy中parse函数里面xpath的内容打印不出来_scrapy 爬虫爬取的数据json模式存储...
  8. 转载:Prototype.js的中文使用手册
  9. 注册(二)之增加绑定
  10. python入门基本知识
  11. 【特效】UE4 Niagara 制作爆炸特效
  12. C语言程序代码 25 编程实现将任意一个华氏法表示的温度,转换为以摄氏法表示的温度。
  13. git ssh-keygen
  14. 深度学习 Day 8——解决GIF生成错误以及有关GAN过程问题
  15. 关于css3中的2d样式skew倾斜详解
  16. 请帮忙扩写韩翃“寒食”这首诗
  17. Django报错 ValueError: The view didn‘t return an HttpResponse object. It returned None instead.
  18. ffmpeg截取视频片段
  19. 使用不正确的主题来学习WordPress主题评论
  20. 请求第三方阿里发送验证码

热门文章

  1. 帆软填报-解决Error:很抱歉,导入EXCEL格子数超过限制
  2. 计算机科学与技术管理系统毕业论文,计算机科学与技术学校管理系统毕业论文.doc...
  3. 论软件的系统测试以及应用-系统分析师-2022年上半年必考知识点
  4. 中国智慧菜场行业典型案例
  5. 阿联酋研发新冠病毒快速激光检测技术
  6. python波形分析库_Python科学计算——任意波形拟合
  7. 【mysql】只使用数据库DB如何实现--预定系统(古法)电影院座位预定
  8. 中山培训学校python
  9. 想要成为一名合格的软件测试工程师,你得会些啥?
  10. 【陈越、何钦铭《数据结构》第一讲 讨论1.3 再试一个多项式】