算法与数据结构 图论(二)割点与割边

本文介绍了图论中的割点与割边概念。割点是指在一个无向连通图中,删除该顶点及其相关联的边会导致图变为多个连通块的顶点集合;割边则是指删除后同样会破坏图的连通性的边集合。点连通度和边连通度分别定义为最小割点集合的顶点数和最小割边集合的边数。双连通图是指点连通度或边连通度大于1的图。通过深度优先搜索或广度优先搜索可以判断一个顶点是否为割点,若删除某顶点导致图不连通,则该顶点为割点。
摘要由CSDN通过智能技术生成

割点集合
在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。(一般是有多个顶点组成)
割边集合
在一个无向连通图中,如果有一个边集合,删除这个边集合以后,原图变成多个连通块,就称这个点集为割边集合。(一般有多个边组成)
点连通度
一个图的点连通度的定义为,最小割点集合中的顶点数
边连通度
一个图的边连通度的定义为,最小割边集合中的边数。
双连通图
如果一个无向连通图的点/边连通度大于1,则称该图是点/边双连通的(biconnected),简称双连通或重连通
割点
一个图有割点,当且仅当这个图的点连通度为1,则割点集合的唯一元素被称为割点(cut point),又叫关节点(articulation point)。

一个图有桥,当且仅当这个图的边连通度为1,则割边集合的唯一元素被称为桥(bridge),又叫关节边(articulation edge)。(也有人称为割边….)

割点:依次删除每一个顶点,然后用深度优先搜索或者广度优先搜索来检查图是否依然连通。如果删除某个顶点后,导致图不再连通,那么刚才删除的顶点就是割点。

在这里插入图片描述
在这里插入图片描述

import java.util.Scanner;
//对一个图进行深度优先遍历将会得到这个图的一个生成树(并不一定是最小生成树)
public class gedian {
   
    static int n,m,root;
    static int [][] e = new int[9][9];
    static int [] num = new int[9];
    static int [] low = new int[9];
    static int [] flag = new int[9];
    static int index;//index用来进行时间戳的递增

    public static void main(String[] args) {
   
        Scanner scan = new Scanner(System.in);
        int x,y;
        n = scan.nextInt();
        m = scan.nextInt();

        for (int i = 1; i <= n; i++) {
   
            for (int j = 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值