单连通图的判断
创始人
2024-03-01 14:52:11
0

在这里插入图片描述

  1. 单连通图的判断算法:
    (1)对每个点进行dfs得到一棵dfs树;
    (2)判断是否存在前向边和横向边,若有则必定存在两个点之间有至少2条简单路径,因此该图不属于单连通图;
    (3)若对所有dfs树不存在(2)中情况,则该图是单连通图。
  2. 算法时间复杂度:对VVV个点进行dfs,每次dfs的时间为O(V+E)O(V+E)O(V+E),因此总时间复杂度为O(V∗(V+E))O(V*(V+E))O(V∗(V+E)).
  3. 算法正确性证明:
    必要性(对于单连通图,每个点出发的dfs树中不存在前向边和横向边):假设点A,B之间存在前向边AB,根据前向边的定义,应存在另外一条由树边组成的路径A->B,不满足至多1条简单路径的要求;
    假设点A,B之间存在横向边AB,根据算法步骤易知A,B应在以某个点为根的dfs树中,设为R,那么在点R,B之间至少存在R->A->B和R->B两条路径,不满足至多1条简单路径的要求;
    充分性(对于一个图,每个点出发的dfs树中不存在前向边或横向边则是单连通图):等价于证明逆否命题,若图中A,B两个点之间存在2条路径,则一定对应存在的前向边或者横向边。设A,B之间存在路径(A,x1,x2,...,xn,B)(A,x_1,x_2,...,x_n,B)(A,x1​,x2​,...,xn​,B)以及(A,y1,y2,...,ym,B)(A,y_1,y_2,...,y_m,B)(A,y1​,y2​,...,ym​,B),
    当m,nm,nm,n均大于0时,根据白色路径定理,xix_ixi​,yjy_jyj​以及B均为A的子孙,因此(xn,B)(x_n,B)(xn​,B)和(ym,B)(y_m,B)(ym​,B)必有一个是横向边;(此处有纰漏)
    当m=0,n>0m=0,n>0m=0,n>0时,(A,B)(A,B)(A,B)是前向边或者(xn,B)(x_n,B)(xn​,B)是横向边;当m>0,n=0m>0,n=0m>0,n=0时类同。
    以上。

以下是老师ppt上的证明:
大题思路相同,但我证明最后“因此(xn,B)(x_n,B)(xn​,B)和(ym,B)(y_m,B)(ym​,B)必有一个是横向边”的论断是错的,可以修补。

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

在这里插入图片描述
分为两条路径上存在v的后代和存在v的后代两种情况。第一种可以断定(xr,v)(x_r,v)(xr​,v)和(yt,v)(y_t,v)(yt​,v)中有一条是前向边或交叉边;第二种,存在这样一条搜索路径u→yj→v→w→xk→vu\rightarrow y_j \rightarrow v \rightarrow w \rightarrow x_k \rightarrow vu→yj​→v→w→xk​→v(如下图所示,标号对应关系:j=tj=tj=t,k=rk=rk=r),此时(yk,v)(y_k,v)(yk​,v)是树边,而(xj,v)(x_j,v)(xj​,v)是返回边,但我们仍可以找到这样的两条边(xi−1,xi)(x_{i-1},x_i)(xi−1​,xi​)和(yi−1,yi)(y_{i-1},y_i)(yi−1​,yi​)其中有一条是前向边或交叉边。

请添加图片描述

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...