当前位置: 首页 > news >正文

基于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

输入输出截图

http://www.cnnetsun.cn/news/69464.html

相关文章:

  • 先给大伙儿拆解下五层电梯PLC程序的实现逻辑。这玩意儿核心是状态转移和信号竞争,咱们直接上硬核部分。(文末附IO表与接线说明)
  • 「码同学」2025VIP性能测试课程
  • 零基础转行AI产品经理:大模型学习路线与面试题库全攻略
  • iOS 组件化:模块拆分、依赖反转、解耦实践
  • 不容错过!2026中东【沙特】工程机械展览会,震撼来袭
  • 测试数据生成的AI解决方案
  • PyWebview浅谈
  • HUB扩展:数字世界的隐形枢纽与生态重构者
  • 基于能量分配的光伏混合储能系统仿真模型:MPPT控制光伏最大功率跟踪,电池与超级电容协同工作实...
  • 【WebSocket稳定性提升秘诀】:如何在生产环境中规避7类典型错误
  • 为什么你的协程系统响应迟缓?优先级调度设计缺陷可能是罪魁祸首
  • 构造函数返回对象时的陷阱:为什么 `return {}` 会覆盖 new 操作符的默认行为
  • 宏任务与微任务的边界:为什么在不同浏览器环境下 Promise 的执行时序可能不一致
  • 智能工牌如何帮房企智能盘客,提升销售转化?
  • LP3713CH_5W/SOP7隔离适配器和充电器自供电PSR控制芯片 典型应用电路
  • FT8393MB1(5V/2.4A)12W线式电源控制芯片 典型应用电路
  • [吾爱大神原创工具] Python脚本打包为“EXE”工具(史上最高颜值)
  • 当电机遇上滑移:四轮驱动车能耗与稳定性的双线作战
  • AI视频工具普及,为何内容团队工时反增20%?
  • SQL多表查询实战:7种JOIN详解
  • 变量传递总是出错?掌握这3个核心原理,轻松打通R与Python壁垒
  • jmeter基础使用方法
  • 直接打开MATLAB,先来点刺激的——搞个巴特沃斯低通滤波器。别被名字吓到,其实就是个能让低频信号通过,高频滚犊子的电路模型。看这段
  • 大模型应用开发核心:构建高效准确的提示词指南
  • OpenAI发布GPT-5.2:是王者归来还是强弩之末?
  • HTTPS DDoS 排查 异常流量到抓包分析
  • 12、Docker与Kubernetes使用指南
  • 行为树优化全攻略(性能翻倍的4个秘密武器)
  • 直流电机双闭环调速系统仿真模型:转速外环与电流内环PI参数整定指南,无静差跟踪实现功能介绍
  • 滑膜控制下的差动制动防侧翻稳定系统设计与仿真验证:横摆力矩分配策略及其实车测试分析