有向图算法c语言,c-如何将BGL有向图用作无向图(用于布局算法...
您确定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有向图用作无向图(用于布局算法...相关推荐
- 国密算法Go语言实现(详解)(九) ——SM2(椭圆曲线公钥密码算法)
国密算法Go语言实现(详解)(九) --SM2(椭圆曲线公钥密码算法) 原创代码:https://github.com/ZZMarquis/gm 引用时,请导入原创代码库.本文仅以注释方式详解代码逻辑 ...
- 国密算法Go语言实现(详解)(十) ——SM2(椭圆曲线公钥密码算法)
国密算法Go语言实现(详解)(十) --SM2(椭圆曲线公钥密码算法) 原创代码:https://github.com/ZZMarquis/gm 引用时,请导入原创代码库.本文仅以注释方式详解代码逻辑 ...
- java克鲁斯卡尔算法_Java语言基于无向有权图实现克鲁斯卡尔算法代码示例
所谓有权图,就是图中的每一条边上都会有相应的一个或一组值.通常情况下,这个值只是一个数字 如:在交通运输网中,边上的权值可能表示的是路程,也可能表示的是运输费用(显然二者都是数字).不过,边上的权值也 ...
- 关联规则算法c语言样例及分析_推荐系统总结系列-关联规则算法(四)
基于关联规则的推荐有三种方法:Apriori关联规则算法FP Tree关联规则算法:PrefixSpan关联规则算法: 关联规则挖掘推荐算法: 关联规则挖掘是一种在大规模交易中识别类似规则关系模式的通 ...
- 数据结构与算法 c语言 百度网盘,【资料分享】 数据结构与算法全集(C源代码+详细注释)!...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 │ │ BiTree.cpp │ │ BiTree.h │ │ LinkQueue.cpp │ │ LinkQueue.h │ │ main.cpp │ ...
- 灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法
谢亮亮+刘建生+朱凡 摘要:针对模糊C-均值聚类算法(FCM)存在易受初始聚类中心影响和容易陷入局部最优的问题,提出了一种将灰狼优化算法(GWO)和模糊C-均值相结合的新聚类算法(GWO-FCM).该 ...
- koch算法c语言递归,【挑战程序设计竞赛】 递归与分治算法
[挑战程序设计竞赛] 递归与分治算法 [挑战程序设计竞赛] 递归与分治算法 递归与分治算法穷举搜索题目 思路 代码 科赫曲线题目 思路 代码 将问题分解,通过求解局部性的小问题来解决原本的问题,这种技 ...
- id3算法c语言实现,从ID3到C5.0的故事:算法详解及实践应用
原标题:从ID3到C5.0的故事:算法详解及实践应用 在前面,我们分别概述性地介绍了决策树的基本知识: 1.算法概述 ID3(Iterative Dichotomiser3)算法可以说决策树算法中最著 ...
- C语言求网格的最大不重复路径数的算法(附完整源码)
C语言求网格的最大不重复路径数的算法 C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) C语言求网格的最大不重复路径数的算法完整源码(定义,实现,main函数测试) #in ...
最新文章
- 计算Gaunt积分 m1m2<0
- 【待填坑】LG_4996_咕咕咕
- Boost:boost::mp11的使用实例
- MyBatis学习与使用(一)
- hadoop 卡主_HDFS DisTCP执行卡住了,怎么办?
- 二进制文件和普通文件(文本文件)区别
- 在scrapy中parse函数里面xpath的内容打印不出来_scrapy 爬虫爬取的数据json模式存储...
- 转载:Prototype.js的中文使用手册
- 注册(二)之增加绑定
- python入门基本知识
- 【特效】UE4 Niagara 制作爆炸特效
- C语言程序代码 25 编程实现将任意一个华氏法表示的温度,转换为以摄氏法表示的温度。
- git ssh-keygen
- 深度学习 Day 8——解决GIF生成错误以及有关GAN过程问题
- 关于css3中的2d样式skew倾斜详解
- 请帮忙扩写韩翃“寒食”这首诗
- Django报错 ValueError: The view didn‘t return an HttpResponse object. It returned None instead.
- ffmpeg截取视频片段
- 使用不正确的主题来学习WordPress主题评论
- 请求第三方阿里发送验证码
热门文章
- 帆软填报-解决Error:很抱歉,导入EXCEL格子数超过限制
- 计算机科学与技术管理系统毕业论文,计算机科学与技术学校管理系统毕业论文.doc...
- 论软件的系统测试以及应用-系统分析师-2022年上半年必考知识点
- 中国智慧菜场行业典型案例
- 阿联酋研发新冠病毒快速激光检测技术
- python波形分析库_Python科学计算——任意波形拟合
- 【mysql】只使用数据库DB如何实现--预定系统(古法)电影院座位预定
- 中山培训学校python
- 想要成为一名合格的软件测试工程师,你得会些啥?
- 【陈越、何钦铭《数据结构》第一讲 讨论1.3 再试一个多项式】