Qt中使用DAG(有向无环图)

news2024/9/24 19:18:51

之前做的一个视觉检测项目,本来各个视觉检测工具之间是独立的,单独执行图像输入、得出结果,然后综合汇总结果,简单明了。
后来要求工具之间能存在依赖关系,也就是A工具的输出可以作为B工具的输入,这样就很麻烦了,谁知道用户会怎么勾搭各个工具的输入和输出?怎么知道哪个工具先执行?
当时是用链表简单处理了,处理得很粗糙,逻辑上不清晰。想优化却不知道怎么查找资料。
最近,项目经理又来说这个问题了。
于是,静下心来找资料。结果发现,这个工具与工具之间得依赖、拓扑关系,是一个著名的概念:有向无环图(DAG)。
ok,既然找到资料的切入点,那就好办了。
处理DAG的最有效的C++库应该是这个【Boost Graph Library (BGL) 】,但是这个库貌似是依赖boost,有点大。暂时不用它,后面再看看。
目前打算用的是这个库【 OCEChain /DAG】,只有寥寥两个文件。已经基本能够满足我的需求了。先用它了。
需要对它的源码进行一下修改
将DirectedAcyclicGraph.h的98到103行注释掉。
在这里插入图片描述否则会报:

error: C2580: “DAG::Node<const int>::Node(const DAG::Node<const int> &)”: 不允许使用多个版本的有默认特殊成员函数
error C2580: “DAG::Node<const int>::Node(const DAG::Node<const int> &)”: 不允许使用多个版本的有默认特殊成员函数
 查看对正在编译的 类 模板 实例化“DAG::Node<const int>”的引用

这个库是实现了有向无环图的表示,但是在添加子对象时,没有检查添加子对象后会不会造成环型;也没有实现拓扑排序布局。
还是差点意思。

闭环检测可以这样

拓扑排序可以这样
【有向无环图与拓扑排序】


参考
【有向无环图的自动布局算法】
【OCEChain /DAG】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2110432.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android】ViewPager基本用法总结

文章目录 一、添加ViewPager控件二、构建适配器类三、在 MainActivity 中设置适配器示例一&#xff1a;图片切换适配器MainActivity 示例二&#xff1a;Fragment切换适配器FragmentMainActivity ViewPager 是 Android 中一个用于在同一屏幕上滑动不同页面&#xff08;通常是左右…

【C++】C++中的花式操作:lambda表达式、类成员初始化列表、三元运算符、运算符及其重载。。。

八、C中的花式操作&#xff1a;lambda表达式、构造函数初始化列表、三元运算符 10、lambda表达式 见mutable关键字&#xff1a;【C】C中的关键字&#xff1a;const、mutable、auto、new....-CSDN博客。 11、构造函数初始化列表 当我们编写一个类时&#xff0c;一般都要有一个…

鼠标指针美化 一大批鼠标指针特效 喜欢的快点收藏~!

鼠标指针美化 一大批鼠标指针特效 喜欢的快点收藏~&#xff01;鼠标指针美化&#xff0c;这个功能可能许多人都没用过&#xff0c;应该还有很多人都是用着系统默认的鼠标指针&#xff0c;我们今天给大家分享一个可以修改鼠标指针的工具&#xff0c;如果你也喜欢&#xff0c;那麻…

类比推理-错题集

001 解析 &#xff1a; 002

[Visual Stuidio 2022使用技巧]3.模板

本文主要介绍本人在使用vs2022开发WPF桌面程序时使用到的一些插件及配置。 语言&#xff1a;C# IDE&#xff1a;Microsoft Visual Studio Community 2022 框架&#xff1a;WPF&#xff0c;.net 8.0 一、工程模板 1.1 创建模板 编辑好模板代码&#xff0c;扩展及NuGet包之…

【2024全国大学生数学建模竞赛】E题 模型建立与求解(含代码与论文)

目录 一、问题重述 1.1 问题背景 1.2 问题回顾与分析 四、问题求解与分析 4.1 问题1求解与分析 4.1.1 问题1分析 4.1.2 问题1建模与求解 按照提交论文的格式进行撰写&#xff01;完整版请看文章最后&#xff01; 一、问题重述 1.1 问题背景 随着城市化进程的加快、机动…

mysql笔记3(数据库和表的基础操作)

文章目录 一、数据库的基础操作1. 显示所有的仓库(数据库)2. 创建数据库注意(命名规范)&#xff1a; 3. 删除数据库4. 查看创建数据库的SQL5. 创建数据库时跟随字符编码6. 修改数据库的字符编码 二、表的基础操作1. 引入表的思维2. 引用数据库3. 查看该数据库下面的表4. 创建表…

微信小程序webgl 显示图片

// wxml <view class"container"><!-- 加载地图容器 --><canvas type"webgl" id"testMap" style"width: 100%; height: 100%;" disable-scroll bindtouchstart"touchStart" bindtouchmove"touchMove&qu…

直播美颜SDK与主播美颜工具:实时美颜技术的深度解析

本篇文章&#xff0c;笔者将深入解析直播美颜SDK的核心技术与主播美颜工具的开发原理。 一、什么是直播美颜SDK&#xff1f; 通过集成美颜SDK&#xff0c;开发者可以在直播应用中快速实现脸部优化、滤镜添加、皮肤调整等功能&#xff0c;帮助主播在直播过程中实时呈现最佳状态…

linux线程cp模型,posix信号量,线程池,线程封装,单例模型,懒汉饿汉实现方式,自旋锁,读者写者模型

1.生产者消费者模型 前面的同步&#xff0c;我们并没有一个很好的场景来模拟同步&#xff0c;只是简单的将有序的现象输出出来&#xff1b;现在我们来讲解一个比较合理且常见的模型——生产者消费者模型&#xff1b; 1.1模型理解 什么是生产者消费者模型&#xff1a; 这个模…

书籍爱好者的福音:Spring Boot实现的个性化推荐

1 绪论 1.1研究背景 随着网络不断的普及发展&#xff0c;图书个性化推荐系统依靠网络技术的支持得到了快速的发展&#xff0c;首先要从学生的实际需求出发&#xff0c;通过了解学生的需求开发出具有针对性的首页、图书信息、好书推荐、留言反馈、个人中心、后台管理功能&#x…

Go Web 编程 PDF

&#x1f4da; Go Web开发必读:《Building Web Applications with Go》PDF资源分享 &#x1f50d; 找寻良久,终于寻得这本珍贵资源!现在我免费分享给大家 你是否正在学习Go语言开发Web应用?是否想要提升Go并发编程能力?这本书绝对不容错过! &#x1f4d6; 关于这本书 《B…

AC访问规则--规则优先级

按照以下进行优先级排序&#xff1a; 1.Specific Rules Have Priority 特定规则是一种关联以下内容的规则&#xff1a; ・通过指定其 AID 或指定隐式选择的应用来关联安全元件应用&#xff0c;并且 ・通过指定其 DeviceAppID 来解释一个设备应用&#xff0c; 通用规则是适用…

力扣1049-最后一块石头的重量II(Java详细题解)

题目链接&#xff1a;1049. 最后一块石头的重量 II - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。 最近刚学完01背包&#xff0c;所以现在的题解都是以01背包问题为基础再来写的。 如果大家不懂…

Xilinx高速接口文档简介

Xilinx的高速资源手册比较详细的介绍的介绍有ug482-GTP&#xff0c;ug486-GTX&#xff0c;ug576-GTH 基本结构资源和原语都大致相同 GTP主要在A系列芯片中 GTX主要在K系列芯片中 XILINX系列中有专用的高速接口资源&#xff0c;这些也是FPGA中最有价值的存在。 这些高速资源被称…

springboot小儿推拿培训系统

基于springbootvue实现的小儿推拿培训系统 &#xff08;源码L文ppt&#xff09;4-50 3系统设计 3.1系统功能结构 系统结构图可以把杂乱无章的模块按照设计者的思维方式进行调整排序&#xff0c;可以让设计者在之后的添加&#xff0c;修改程序内容的过程…

网传“有手就能过”的PMP,是不是真的那么水?!

“PMP真的很简单啊&#xff0c;我都没有复习就刷刷题就过了。” “3A上岸&#xff0c;就刷了两天题就直接去考了。” “感觉真的就是花钱随便过&#xff0c;我还以为多难呢&#xff0c;一次就考过了。” …… 上面这样的发言你是不是在好多平台都见过&#xff1f; 你是不是也在…

SAP HCM 如何计算缺勤实数

导读 INTRODUCTION 缺勤实数&#xff1a;这几天好几个朋友问题有什么办法可以计算出缺勤的时长&#xff0c;因为计算时长需要和排班去匹配&#xff0c;所以逻辑复杂度还是比较高的&#xff0c;希望有标准的函数能完成。其实SAP有个标准的函数可以完成&#xff0c;复杂的时候填…

合宙Air780E硬件设计手册02

上文文主要介绍了Air780E的硬件设计中的的应用接口部分。 上文链接&#xff1a;Air780E低功耗4G模组硬件设计手册01-CSDN博客 在本文我们会继续介绍Air780E的硬件设计介绍。 二、应用接口 2.10 SIM卡接口 Air780E支持2路SIM卡接口&#xff0c;支持ETSI和IMT-2000卡规范&am…

P0.9全倒装COB超微小间距LED显示技术的优势

P0.9全倒装COB&#xff08;Chip On Board&#xff09;超微小间距LED显示技术&#xff0c;以其前所未有的精细度与卓越性能&#xff0c;正逐步引领显示行业迈向新的纪元。这项技术不仅极大地缩小了LED灯珠之间的间距&#xff0c;实现了像素点的极致密集排列&#xff0c;更通过全…