news 2026/6/10 13:05:48

基于C++实现集合的关系性质计算器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于C++实现集合的关系性质计算器

集合的关系性质计算器

使用语言:

C++ (C++17标准)

测试环境:

  • g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
  • g++ (MinGW.org GCC-6.3.0-1) 6.3.0

编译部署:

g++ app.cc -std=c++17 -O2 -o app ./app

设计要求

输入一个集合,还有集合的一个关系。判断该关系是否是恒等、(反)自反、(反)对称、传递、等价、相容、偏序的。

设计思想

首先将整个集合抽象成一个点集,关系抽象成边集,那么整个广群就是一个图。再根据关系性质的判断条件判断关系是否是恒等、自反、对称、传递的。接着等价相容和偏序关系可以由已经求出的急中基础关系推断出。

在输入集合元素的过程中,可以由两个映射std::map来保存原元素的关系,并离散化到

中。并且图中同时由邻接矩阵和链式前向星存图,同时保证指定两点关系和遍历边时的效率。

存入图之后,先判断恒等关系和(反)自反关系,再判断对称和传递关系。其中如果没有恒等关系,则对称和反对称关系可以直接跳过来节省时间。接着,这些关系可以直接推测出等价、相容和偏序关系的判定情况。

流程图

graph TB st{程序开始} st-->input subgraph 存图 input[输入集合] inputedge[输入关系] save{存图} input-->inputedge inputedge---save end subgraph 检查 ident[恒等] reflex[反自反/自反] sym[反对称/对称] trans[传递] equ[等价] compa[相容] part[偏序] inputedge-->ident ident-->reflex reflex-->sym sym-->trans trans-->equ equ-->compa compa-->part end output[输出结果] fi{程序结束} part-->output output-->fi

输入输出截图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 12:42:07

软件第三方测试报告 第三方专业软件测评机构贤诚测评

软件第三方测试报告:为你的系统做一次独立“体检” 想象一下,当你买了一栋房子,开发商说“质量是没问题”,你会在没有专业验房师检查的情况下就签字交款吗?大概不会。同样道理,当一款软件系统开发完成后&am…

作者头像 李华
网站建设 2026/6/9 23:31:02

跨界学习:测试与开发的融合

在快速迭代的软件开发浪潮中,测试与开发的关系正经历深刻重塑。传统的“测试在后、开发在前”的线性模式已难以应对市场对速度与质量的双重需求。 一、思维融合:从质检岗到质量共建者 1.1 破除“上下游”对立意识 传统团队中,测试常被视作…

作者头像 李华
网站建设 2026/6/6 0:15:36

COMSOL MXene超材料吸收器的性能研究:高效能量转换与吸收机制探索

comsol MXene超材料吸收器。打开COMSOL的时候,总感觉这软件像是个三维乐高乐园——尤其是当你想用MXene这种二维材料搭个超材料吸收器的时候。先别急着点开电磁波模块,咱们先搞明白MXene这货在微波段的奇葩表现:介电常数实部负数,…

作者头像 李华
网站建设 2026/6/9 7:25:28

乐迪信息:煤矿井下高风险行为识别:AI 摄像机自动预警违规攀爬

在煤矿开采这一高危行业中,井下作业环境复杂多变,各类风险隐患无处不在。违规攀爬行为作为其中极具危险性的一种,严重威胁着矿工的生命安全以及煤矿的生产秩序。传统的监管方式往往依赖人工巡查,不仅效率低下、容易出现监管盲区&a…

作者头像 李华
网站建设 2026/6/5 23:28:49

【翻译】【SOMEIP-SD】Page43- Page46

文章目录5.1.2.4.7 IPv4 SD Endpoint Option5.1.2.4.7 IPv4 SD Endpoint Option IPv4 SD Endpoint Option 用于发送SOME/IP-SD实例的endpoints信息,同时也预示着该option中包含的IP地址和Port号不能被其他SOMEIP服务端和客户端使用。 SOME/IP-SD实例的作用是在ECU之…

作者头像 李华
网站建设 2026/6/9 5:37:33

【MicroPython编程-ESP32篇】-Web页面显示BME280传感器数据

Web页面显示BME280传感器数据 文章目录 Web页面显示BME280传感器数据 1、BME280介绍 2、软件准备 3、硬件准备与接线 4、代码实现 4.1 BME280驱动库实现 4.2 连接WiFi 4.3 Web服务器实现 在本文中,将介绍如何将BME280 传感器模块与 ESP32一起使用,并通过MicroPython 固件获取…

作者头像 李华