C#,图论与图算法,无向图断开点(Articulation Points)的算法与源代码

news/2024/7/20 22:32:20 标签: 算法, 深度优先, 数据结构

1 无向图断开点

如果移除无向连通图中的顶点(以及穿过该顶点的边)会断开该图,则该顶点是一个连接点(或切割顶点Cutting Point)。连接点表示连接网络中的漏洞–单点故障会将网络拆分为两个或多个组件。它们对于设计可靠的网络很有用。
对于断开连接的无向图,连接点是顶点移除,这会增加连接组件的数量。
上面和下面是一些用红色包围关节点的示例图。

 

2 如何找到给定图形中的所有连接点?

一种简单的方法是逐个删除所有顶点,然后查看删除顶点是否会导致图断开连接。下面是连接图的简单方法步骤。
1) 对于每个顶点v,执行以下操作
a) 从图形中删除v
b) 查看图表是否保持连接(我们可以使用BFS或DFS)
c) 将v添加回图形
对于用邻接表表示的图,上述方法的时间复杂度为O(V*(V+E))。

3 查找所有关节点(AP)的O(V+E)算法


其想法是使用DFS(深度优先搜索)。在DFS中,我们以称为DFS树的树形式跟踪顶点。在DFS树中,如果v是由u发


http://www.niftyadmin.cn/n/5430940.html

相关文章

Github和TeamCity的持续集成构建

一、简介 TeamCity是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。TeamCity提供一系列特性可以让团队快速实现持续集成:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等。 二、安装使用(…

QMI8658芯片I2C驱动开发指南

这个芯片纯国产挺好用的,电路很好设计,我这垃圾焊功,纯手焊,,居然能用。 第一部分 硬件连接 画的很简陋,看看就可以了,这里I2C总线需要接10K上拉没有画出来,这个需要注意一下。 …

逻辑数据平台的 NoETL 之道(内含QA)

作者简介: 余俊,Aloudata 合伙人 & 技术副总裁。拥有 18 年互联网技术和大数据平台相关架构经验。作为主架构师及核心研发主导并完成了 Alibaba B2B 首个海量分布式 KV 存储系统,作为网站架构师负责 Aliexpress 全球买全球卖交易系统的第…

HTML—标签的分类,span和div标签,不同的标签之间类型转换

标签的分类: ①块级标签:无论内容多少,会充满整个行。大小可自定义 例:p,h1,ul,ol,hr 等 ②行级标签:自身的大小就是标签的大小,不会占一整行。大小不可调 例…

Python常见设计模式库之python-patterns使用详解

概要 设计模式是解决软件设计问题的经验总结和最佳实践。Python 作为一种灵活且强大的编程语言,也可以使用设计模式来提高代码的可读性、可维护性和可扩展性。Python Patterns 库提供了一系列经典和常用的设计模式实现,本文将深入探讨 Python Patterns 库的功能、使用方法以…

Node.js基础+原型链污染

Node.js基础 概述:简单来说Node.js就是运行在服务端的JavaScript,Node.js是一个基于Chrome JavaScript运行时建立的一个平台 大小写变换: toUpperCase():将小写字母转为大写字母,如果是其他字…

安装 AWS Load Balancer Controller 附加组件

1 创建一个 IAM policy #curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.4/docs/install/iam_policy.json#aws iam create-policy \--policy-name AWSLoadBalancerControllerIAMPolicy \--policy-document file://iam_policy.…

「字幕之美:解析硬、软、外挂,探寻视频世界的无声艺术」

硬字幕、软字幕与外挂字幕:概述 硬字幕、软字幕和外挂字幕是视频内容中常见的三种字幕形式,它们在提供文字信息的同时,为观众提供了更丰富的观看体验。下面将对这三种字幕进行概述: 硬字幕(Hard Subtitles&#xff0…