python判断无向图环是否存在的示例


Posted in Python onNovember 22, 2019

暂时是一个手动设置无向图中的边,用一个二维数组表示,后面会改进为用户自己定义无向图的边。

学习python的新手,若大佬有解决的办法,希望不吝赐教

#无向图判断环是否存在
def dfs(u,fa):
  for i in range(v):
    n=g[u][i]#n为图中的顶点数
    # print(u,n,fa,i,'')
    if n in vertex:#判断n是否属于图的顶点
      if n==fa:
        continue
      if visit[n]==0:
        visit[n]=1
        if dfs(n,u)==1:
          return 1
      else:
        return 1
  return 0
global flag,visit,v,g,e,vertex
vertex=[]
flag=0
v=4;e=4#v是顶点,e是边数
#v,e=map(int,input().split())
vertex=[1,2,3,4]#无向图的顶点集合
g=[[0 for i in range(20)]for i in range(20)]
visit=[0 for i in range(20)]
g[1][0]=2;g[2][0]=1;g[2][1]=3;g[3][0]=2;g[3][1]=4;g[4][0]=3;g[1][1]=3;g[3][2]=1
for i in range(1,v+1):
  if visit[i]==0:
    visit[i]=1
    if dfs(i,-1):
      flag=1
      break
if flag==1:
  print('Yes, there is A loop in this network')
else:
  print('No loop')

以上这篇python判断无向图环是否存在的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python常用列表数据结构小结
Aug 06 Python
Python中bisect的用法
Sep 23 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
Django的分页器实例(paginator)
Dec 01 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
简单了解python中的与或非运算
Sep 18 Python
Python+Redis实现布隆过滤器
Dec 08 Python
Python装饰器原理与基本用法分析
Jan 07 Python
python global和nonlocal用法解析
Feb 03 Python
PyTorch-GPU加速实例
Jun 23 Python
Python实现中英文全文搜索的示例
Dec 04 Python
python数据抓取3种方法总结
Feb 07 Python
python计算无向图节点度的实例代码
Nov 22 #Python
Python字符串格式化输出代码实例
Nov 22 #Python
python常用数据重复项处理方法
Nov 22 #Python
Python pickle模块实现对象序列化
Nov 22 #Python
python绘制无向图度分布曲线示例
Nov 22 #Python
Python如何实现强制数据类型转换
Nov 22 #Python
python实现宿舍管理系统
Nov 22 #Python
You might like
第三节 定义一个类 [3]
2006/10/09 PHP
php伪静态之APACHE篇
2014/06/02 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
基python实现多线程网页爬虫
2015/09/06 Python
Python制作简单的网页爬虫
2015/11/22 Python
Python实现批量压缩图片
2018/01/25 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
化工机械应届生求职信
2013/11/04 职场文书
毕业自我鉴定范文
2013/11/06 职场文书
业务代表的岗位职责
2013/11/16 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
校本课程教学计划
2015/01/19 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫
oracle数据库去除重复数据
2022/05/20 Oracle