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

C#,图论与图算法,无向图(Graph)回环(Cycle)的不相交集(disjoint)或并集查找(union find)判别算法与源代码

1 回环(Cycle)的不相交集(disjoint)或并集

不相交集数据结构是一种数据结构,它跟踪划分为多个不相交(非重叠)子集的一组元素。联合查找算法是对此类数据结构执行两个有用操作的算法:

查找:确定特定元素所在的子集。这可用于确定两个元素是否在同一子集中。

并集:将两个子集合并为一个子集。这里我们首先要检查这两个子集是否属于同一个集合。如果没有,那么我们就不能执行联合。

在这篇文章中,我们将讨论不相交集数据结构的应用。应用程序用于检查给定的图形是否包含循环。

联合查找算法可用于检查无向图是否包含圈。注意,我们已经讨论了一种检测循环的算法。这是另一种基于联合查找的方法。此方法假定图形不包含任何自循环。

我们可以跟踪一维数组中的子集,我们称之为父数组[]。

让我们考虑以下图表:

2 图表中的循环

对于每条边,使用边的两个顶点创建子集。如果两个顶点位于同一子集中,则会找到一个循环。

3 核心代码

using System;
using System.Collections;
using System.Collections.Generic;

namespace Legalsoft.Truffer.Algorit


http://www.kler.cn/a/273297.html

相关文章:

  • IDC报告解读:实用型靶场将成为下一代网络靶场的必然方向
  • 02多线程基础知识
  • ISUP协议视频平台EasyCVR视频融合平台接入各类摄像机的方法
  • 解决 ClickHouse 高可用集群中 VRID 冲突问题:基于 chproxy 和 keepalived 的实践分析
  • C#的Event事件示例小白级剖析
  • 再探“构造函数”(2)友元and内部类
  • 【软考】系统集成项目管理工程师(二十一)法律法规和标准规范【1分】
  • 吴恩达深度学习环境本地化构建wsl+docker+tensorflow+cuda
  • 25考研|北大软微会「爆炸」吗?
  • 华为配置WAPI-PSK安全策略实验
  • MVC接收请求教程
  • MS17_010 漏洞利用与安全加固
  • Python内置函数map、split、join讲解
  • 跳绳计数,YOLOV8POSE
  • VSCode + PicGo + Github 实现markdown图床管理
  • 【Hadoop】 在Spark-Shell中删除Hive内部表和外部表的数据
  • Vue+SpringBoot打造数据可视化的智慧河南大屏
  • 单目相机标定实现--张正友标定法
  • 基于Spring Boot的拍卖管理系统设计与实现
  • C++ opencv2找错
  • Css提高——Css3的新增选择器
  • mac npm install 很慢或报错
  • Nadaraya-Watson核回归
  • nvm安装和使用保姆级教程(详细)
  • 微服务技术栈SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式(五):分布式搜索 ES-下
  • Kafka:分布式消息队列